ik
d32796277c
test: bound tackle freshness score
CI / backend-and-migrations (push) Waiting to run
CI / astro-build (push) Waiting to run
CI / dependency-audit (push) Waiting to run
CI / compose-e2e (push) Waiting to run
2026-09-21 18:04:13 +07:00
ik
e4e10bb4e9
feat: add freshness decay to tackle analytics
2026-09-21 18:02:23 +07:00
ik
852e68d9a5
feat: show ordered tackle components
2026-09-21 08:13:37 +07:00
ik
86515a9da1
feat: expose reviewed media roles
2026-09-21 08:00:15 +07:00
ik
81af8a02b6
test: cover coordinate precision states
2026-09-21 07:56:20 +07:00
ik
eeef4bb536
feat: show catch method on spot detail
2026-09-21 07:42:43 +07:00
ik
3b4557b549
feat: add method and risk to fishing plans
2026-09-21 07:34:32 +07:00
ik
36d704d854
feat: expose explicit source conflicts
2026-09-21 07:31:17 +07:00
ik
46251c635f
test: add tackle query acceptance gate
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-20 18:36:37 +07:00
ik
e94d247096
feat: add tackle catalog and recommendation analytics
2026-09-20 18:26:53 +07:00
ik
4f0c2d23de
feat: preserve gear components through catch imports
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-20 18:10:41 +07:00
ik
4e9895fbf4
feat: add gear provenance models and browser fetcher
2026-09-20 15:50:43 +07:00
ik
b0edae98c6
feat: continue roadmap acceptance work
2026-09-20 15:17:21 +07:00
ik
d438c40542
sync
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-17 07:35:23 +07:00
ik
722c88d436
sync
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-17 07:35:04 +07:00
ik
85d81aa996
feat: add admin media upgrade decisions
2026-09-16 20:28:45 +07:00
ik
c216229c61
fix: type admin API contracts
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-16 20:09:41 +07:00
ik
9bcb019d3a
feat: extend admin operations and media review
2026-09-16 19:50:01 +07:00
ik
b47a6cc366
feat: publish approved RF4 media catalog
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-14 22:20:46 +07:00
ik
1305cccfa5
feat: check source links during scheduled fetches
2026-09-13 16:32:10 +07:00
ik
bc3ceb5dfe
feat: manage external source lifecycle
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-13 16:26:34 +07:00
ik
9c44cfc08f
refactor: extract admin api router
2026-09-13 09:59:55 +07:00
ik
b76da2edd0
refactor: remove legacy submission handlers
2026-09-13 09:42:15 +07:00
ik
30bfccd0e7
refactor: move submission endpoints to router
2026-09-13 09:38:20 +07:00
ik
0abe1a2bb4
feat: lock concurrent moderation decisions
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-13 09:26:18 +07:00
ik
c6ffded8d7
feat: complete moderation history dashboard
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-13 09:07:32 +07:00
ik
fcc26a5b34
feat: add moderation decision history
2026-09-12 21:52:25 +07:00
ik
def5c39aa1
feat: expose safe moderation provenance
2026-09-12 21:49:45 +07:00
ik
0f078ab482
feat: prioritize risky moderation records
2026-09-12 21:45:29 +07:00
ik
8e419c1832
feat: filter external moderation queue
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-12 21:37:10 +07:00
ik
7c28a0c36a
security: rate limit admin authentication
2026-09-12 21:33:26 +07:00
ik
1776283a95
refactor: assign submissions to dedicated router
2026-09-12 21:21:34 +07:00
ik
31bbc15535
refactor: isolate submission rate limiting
2026-09-12 21:19:10 +07:00
ik
e48b9ef876
refactor: extract public data router
2026-09-12 21:15:51 +07:00
ik
6974ae690d
refactor: extract activity and spot router
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-12 21:12:35 +07:00
ik
b84f1fe815
refactor: extract public catalog router
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-12 21:05:13 +07:00
ik
8d7fab97b9
ci: lock generated OpenAPI contract
2026-09-12 21:03:37 +07:00
ik
049f1ef30a
refactor: separate migrations from API runtime
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-12 16:02:19 +07:00
ik
868278fdba
security: restrict MinIO app to one bucket
2026-09-12 16:01:00 +07:00
ik
1ffaf7478d
fix: synchronize normalized records on import revisions
2026-09-11 07:50:31 +07:00
ik
0b7bbc78a6
fix: make report and idempotency insert transactional
2026-09-11 07:47:36 +07:00
ik
fc963101b3
fix: handle concurrent idempotency key conflicts
2026-09-11 07:46:50 +07:00
ik
5b2db1cf48
fix: reject idempotency key payload conflicts
2026-09-11 07:44:07 +07:00
ik
531f1aa82f
fix: replay idempotent upload token safely
2026-09-11 07:42:41 +07:00
ik
bea3b9ccbb
fix: align recovery schema idempotency and record counts
2026-09-11 07:40:58 +07:00
ik
13e04e6c66
A12: Add meaningful changes/provenance to ImportRecordEvent, skip events for unchanged data
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-11 07:36:21 +07:00
ik
5107a7c467
A11: Use requirements-lock.txt in Dockerfile for reproducible builds
2026-09-11 07:35:35 +07:00
ik
641374ddbc
A05: Add server-side idempotency for catch report creation via Idempotency-Key header
2026-09-11 07:35:01 +07:00
ik
f29ec706fd
R09: Add PaginatedOfficialRecordOut schema and paginated /api/v1/records endpoint
2026-09-10 20:27:45 +07:00
ik
ec3a1ca516
A09: Use static registry for CLI choices, check enabled at runtime
...
Bug: 'choices=configured_sources()' in argparse opened DB session at
import time, causing --help to fail when DB was unavailable.
Fix:
- Added STATIC_SOURCE_CHOICES list with known source keys
- argparse uses static choices — no DB required for --help
- fetch-community command now checks enabled status at runtime
- Disabled sources return error: 'source X is disabled or not configured'
- run_source still handles locked/cooling down state
Verification:
- CLI --help works without DB
- fetch-community --help shows all known sources
- Disabled sources are rejected at runtime with clear error
- 124/124 Python tests pass (1 skipped)
2026-09-10 19:53:15 +07:00