Commit Graph

  • 7c74917d80 fix: simplify trade income event fetcher main tiennm99 2026-06-05 14:26:57 +07:00
  • 340172206a feat: add trade income events check tiennm99 2026-06-05 13:47:56 +07:00
  • 8b6f8b9ce7 feat: register trade income commands tiennm99 2026-06-05 13:56:45 +07:00
  • 539b74755a feat: register trade income commands feature/trade-income-check tiennm99 2026-06-05 13:56:45 +07:00
  • f066efb89e feat: add trade income events check tiennm99 2026-06-05 13:47:56 +07:00
  • 442876c812 feat(trading): show remaining VND after buy/sell success tiennm99 2026-06-05 08:48:45 +07:00
  • daeaf0c605 chore: drop CF→AWS migration tooling and stale JS-port references tiennm99 2026-05-25 09:39:17 +07:00
  • 2313be5024 fix(lolschedule): route daily push to originating forum topic tiennm99 2026-05-25 09:39:01 +07:00
  • a5c5bd9da9 feat(stats): add per-user analytics with /stats subcommands tiennm99 2026-05-22 18:01:12 +07:00
  • ab53d9639f fix(deploy): include stats in CI ModulesCSV override tiennm99 2026-05-22 17:27:26 +07:00
  • ed0c5c1d7b fix(stats): fan out per-key GetItem to avoid handler deadline timeout tiennm99 2026-05-22 16:36:57 +07:00
  • 5e40ffe637 fix(deploy): hardcode non-secret CFN params instead of sed-parsing samconfig tiennm99 2026-05-22 15:43:07 +07:00
  • 85579e56ef fix(deploy): pass BotOwnerID and AdminUserIDs from samconfig.toml in CI tiennm99 2026-05-22 15:39:42 +07:00
  • db8ee9c49b fix(stats): unblock deploy and register /stats in Telegram command menu tiennm99 2026-05-22 15:30:28 +07:00
  • a422913972 fix(dispatcher): place nolint:gosec on go statement, not inside goroutine tiennm99 2026-05-22 15:14:07 +07:00
  • a1ed521c0e fix(stats): resolve golangci-lint G118 and QF1001 violations tiennm99 2026-05-22 15:10:26 +07:00
  • 3f1f264e4a feat(stats): add command usage statistics module with persistence tiennm99 2026-05-22 15:06:46 +07:00
  • 0475a69b89 chore(plans): add deploy-notify-owner plan (completed) tiennm99 2026-05-22 11:40:34 +07:00
  • a34320bc77 feat(deploynotify): DM owner once per new deployed git SHA tiennm99 2026-05-22 11:40:25 +07:00
  • 33d88b97cc fix(lolschedule): paginate older pages to cover past days in week range tiennm99 2026-05-22 11:03:28 +07:00
  • 3b05dc9fa8 fix(lolschedule): align /lolschedule_week to ICT calendar week (Mon–Sun) tiennm99 2026-05-22 10:36:53 +07:00
  • bc4e9ad4a9 chore(plans): remove completed/superseded plans and orphaned reports tiennm99 2026-05-18 17:56:59 +07:00
  • 5721a1f1b0 fix(deploy): quote FlexibleTimeWindow.Mode as string (EarlyValidation) tiennm99 2026-05-18 17:26:19 +07:00
  • 70b7dfc6a0 docs(security): bootstrap README reflects scoped deploy policy (F1, F2) tiennm99 2026-05-18 16:57:25 +07:00
  • dc8d77b787 feat(security): scoped IAM inline policy + rollback script for github-deploy-miti99bot (F1) tiennm99 2026-05-18 16:57:15 +07:00
  • 148388e5a2 fix(security): narrow OIDC trust to main only (F2) tiennm99 2026-05-18 16:57:04 +07:00
  • efe79be9ac docs(security): audit reports + IAM least-privilege plan + project policy tiennm99 2026-05-18 16:50:38 +07:00
  • 2d1864f1e0 refactor(deploy): swap cron to Scheduler + synthetic HTTP event (free tier only) tiennm99 2026-05-18 15:36:59 +07:00
  • c726c0aca5 feat(deploy): wire lolschedule cron via EventBridge Rule + ApiDestination tiennm99 2026-05-18 15:14:06 +07:00
  • fa6f22987e revert(deploy): roll back EventBridge HTTPS schedule attempts tiennm99 2026-05-18 15:11:18 +07:00
  • 585d99633f fix(deploy): pass cron secret via CFN parameter, not ssm-secure resolve tiennm99 2026-05-18 13:04:30 +07:00
  • c70b9d0c24 feat(deploy): wire EventBridge schedule for lolschedule daily push tiennm99 2026-05-18 11:46:50 +07:00
  • 8e7fdce06c feat(misc): add /trongtruonghop disclaimer command tiennm99 2026-05-16 14:51:26 +07:00
  • 3402ca9285 refactor(plans): code-review audit reports — modules + infra tiennm99 2026-05-16 13:35:11 +07:00
  • a8ed67a0a3 refactor: audit-driven hygiene pass across modules and infra tiennm99 2026-05-16 13:35:00 +07:00
  • 3a12615ef5 fix(reply): forward message_thread_id so replies stay in the same forum topic tiennm99 2026-05-16 12:10:56 +07:00
  • 3235ee879f ci: bump golangci-lint-action to v9 (last Node 20 straggler) tiennm99 2026-05-16 11:56:54 +07:00
  • 1e794d12fa ci: bump actions to Node 24-native versions tiennm99 2026-05-16 11:53:01 +07:00
  • 4c81dd61ae fix(dispatcher): match /cmd@botname so commands work in groups tiennm99 2026-05-16 11:36:11 +07:00
  • df8943155c fix(migration): satisfy errcheck on Close + Fprint* in migration toolchain tiennm99 2026-05-16 11:02:15 +07:00
  • 1f5f304041 ci(deploy): auto-register Telegram webhook + commands after SAM deploy tiennm99 2026-05-16 10:55:43 +07:00
  • 39491d134e docs(plans): close cf→aws phases 01-02 and amend locked decisions tiennm99 2026-05-16 10:33:46 +07:00
  • d67517e1fb feat(migration): cf→aws migration toolchain + DynamoDB value as String tiennm99 2026-05-16 10:33:35 +07:00
  • 75e936096d fix(plans): align cf-to-aws migration and cutover docs tiennm99 2026-05-15 23:54:06 +07:00
  • 0502ea28d2 fix(ci): pin deploy role ARN for OIDC auth tiennm99 2026-05-15 22:36:15 +07:00
  • dbfee38232 Fix AWS Lambda deploy setup tiennm99 2026-05-15 22:18:27 +07:00
  • 9c9bc65db8 fix(ci): clear sam lint + golangci-lint findings tiennm99 2026-05-14 09:57:12 +07:00
  • f3b9891a54 refactor: rename module to miti99bot, canonicalize AWS deploy path tiennm99 2026-05-13 22:05:38 +07:00
  • f632c68956 refactor(modules): drop loldle variants, semantle, doantu and dead framework surface tiennm99 2026-05-11 16:02:06 +07:00
  • cd8c0df84b chore: gofmt dynamodb_kv.go tiennm99 2026-05-10 03:06:27 +07:00
  • 396e3d6808 feat(deploy): cold-start metric filter + trading module in SAM template tiennm99 2026-05-10 03:06:16 +07:00
  • 0660960d35 feat(trading): VN stocks paper trading module — 5 commands + price engine tiennm99 2026-05-10 03:06:13 +07:00
  • af0641ba93 feat(lolschedule): daily-push cron handler + comprehensive tests tiennm99 2026-05-10 03:06:07 +07:00
  • 5697dd8293 feat(modules): add Bot to Deps + BuildOptions for cron handlers tiennm99 2026-05-10 03:06:01 +07:00
  • cb8c8840a8 docs(plans): pre-deploy wrap-up status + AWS-port phase sync + code-review report tiennm99 2026-05-10 03:05:56 +07:00
  • f525627d7c feat(modules): add Gemini AI integration module tiennm99 2026-05-10 02:30:04 +07:00
  • ce99633e25 feat(modules): port new command modules + update registry tiennm99 2026-05-10 02:29:58 +07:00
  • fb553cfe93 docs(aws): bootstrap + ops cheatsheets tiennm99 2026-05-10 02:29:52 +07:00
  • c07d764aa2 feat(deploy): AWS SAM template + Makefile + GitHub Actions tiennm99 2026-05-10 02:29:49 +07:00
  • 070894444e feat(server): wire KV_PROVIDER env selection (memory|firestore|dynamodb) tiennm99 2026-05-10 02:29:43 +07:00
  • 91b27783cc feat(storage): add DynamoDB KV provider sibling to Firestore tiennm99 2026-05-10 02:29:39 +07:00
  • 29a1bface0 docs(plans): research AWS vs GCP free tier + create AWS port plan tiennm99 2026-05-10 02:29:35 +07:00
  • 3aab95daf0 feat(observability): request log middleware + in-memory metrics tiennm99 2026-05-09 17:30:15 +07:00
  • ffb2cb0844 ci: bump golangci-lint v2.2.2 -> v2.12.2 for Go 1.25 support tiennm99 2026-05-09 17:19:49 +07:00
  • 74f8a65595 ci: bump golangci-lint-action to v7; drop firestore emulator tiennm99 2026-05-09 17:18:36 +07:00
  • 6fa01ba5f1 feat(modules): port lolschedule (5 commands; daily-push cron deferred) tiennm99 2026-05-09 17:14:01 +07:00
  • 4955797f2b feat(modules): port loldle-splash tiennm99 2026-05-09 17:00:24 +07:00
  • dd4e86a5de feat(modules): port loldle-ability tiennm99 2026-05-09 16:53:26 +07:00
  • 53ce1113eb feat(modules): port loldle-quote tiennm99 2026-05-09 16:45:51 +07:00
  • 8ce754e2b0 chore(plans): mark fix-all-review-findings plan completed tiennm99 2026-05-09 16:33:43 +07:00
  • 84f660d9d9 chore(tooling): golangci-lint + govulncheck + defensive guards tiennm99 2026-05-09 16:33:21 +07:00
  • b3dea5fe21 test(handlers): integration tests + recording bot + emulator on CI tiennm99 2026-05-09 16:19:38 +07:00
  • 6368bc80ce feat(log): structured slog.JSONHandler + 22-site rewire tiennm99 2026-05-09 16:01:00 +07:00
  • 5c367399c5 refactor(modules): extract shared chathelper + champname packages tiennm99 2026-05-09 15:52:40 +07:00
  • 9a3108a1c4 feat(server): high-priority hardening + critical blockers tiennm99 2026-05-09 15:52:15 +07:00
  • c89aa1c0dc chore(plans): mark Phase 6a partial; log code-review findings tiennm99 2026-05-09 12:19:27 +07:00
  • d9cafdcb30 feat(modules): port loldle-emoji tiennm99 2026-05-09 12:19:22 +07:00
  • 9e95db2851 refactor(modules): allow hyphens in module names tiennm99 2026-05-09 12:19:16 +07:00
  • 998016f7f9 chore(plans): mark Phase 5 done; log review findings tiennm99 2026-05-09 09:57:00 +07:00
  • a5ab68da95 feat(modules): port loldle classic + fix winRate truncation tiennm99 2026-05-09 09:56:54 +07:00
  • 58861a7e3c refactor(modules): extract per-subject lock to internal/keylock tiennm99 2026-05-09 09:56:47 +07:00
  • d8aa3ea36e build: claude-code project settings + ignore agent runtime state tiennm99 2026-05-09 09:35:32 +07:00
  • ae11f0eb53 chore(plans): mark Phase 5b done, log review findings tiennm99 2026-05-09 09:35:28 +07:00
  • 6ee8118ad9 feat(modules): port wordle module + per-subject locking tiennm99 2026-05-09 09:35:23 +07:00
  • 3736e80d11 chore(plans): mark Phase 5a partial, log review findings tiennm99 2026-05-09 08:25:01 +07:00
  • 0584b094d1 feat(modules): port util + misc; expose Registry to handlers tiennm99 2026-05-09 08:24:52 +07:00
  • 747533abe8 chore(plans): mark Phase 04 done + record review findings tiennm99 2026-05-08 23:51:32 +07:00
  • 28a9676690 feat(storage): Firestore KVStore + KVProvider abstraction tiennm99 2026-05-08 23:51:24 +07:00
  • 7f77b0a8a9 chore(plans): update phase 02-03 status and record code review findings tiennm99 2026-05-08 23:27:21 +07:00
  • 25a5f37d3d feat(server,modules): bootstrap server and module framework tiennm99 2026-05-08 23:27:12 +07:00
  • 4ae676e851 chore: switch to Apache-2.0 license; import plans from upstream miti99bot tiennm99 2026-05-08 22:48:34 +07:00
  • 328ce45cac Initial commit tiennm99 2026-05-08 22:44:45 +07:00