mytheclipsebotreview[bot]
4ed1d3c053
Auto-merge PR #6
...
build(deps-dev): bump typescript from 5.9.3 to 7.0.2 in /services/backend
2026-08-25 11:36:10 +00:00
dependabot[bot]
bda210475d
build(deps-dev): bump typescript in /services/backend
...
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 5.9.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v7.0.2 )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 7.0.2
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:31:51 +00:00
mytheclipsebotreview[bot]
9b78abaf3d
Auto-merge PR #7
...
build(deps): bump the production group across 1 directory with 8 updates
2026-08-25 11:29:54 +00:00
mytheclipsebotreview[bot]
53c4158511
Auto-merge PR #10
...
build(deps-dev): bump @types/node from 20.19.43 to 26.2.0 in /services/frontend
2026-08-25 11:29:43 +00:00
mytheclipsebotreview[bot]
a2a8c824bf
Auto-merge PR #13
...
build(deps-dev): bump @biomejs/biome from 2.2.0 to 2.5.10 in /services/frontend
2026-08-25 11:29:26 +00:00
mytheclipsebotreview[bot]
dec548fa2f
Auto-merge PR #4
...
build(deps-dev): bump @types/node from 25.9.5 to 26.2.0 in /services/backend
2026-08-25 11:29:18 +00:00
mytheclipsebotreview[bot]
12033e5537
Auto-merge PR #11
...
build(deps-dev): bump typescript from 5.9.3 to 7.0.2 in /services/discord-gateway
2026-08-25 11:29:10 +00:00
dependabot[bot]
d06caa7e58
build(deps): bump the production group across 1 directory with 8 updates
...
Bumps the production group with 8 updates in the /services/discord-gateway directory:
| Package | From | To |
| --- | --- | --- |
| [ioredis](https://github.com/redis/ioredis ) | `5.11.1` | `6.0.0` |
| [openai](https://github.com/openai/openai-node ) | `6.49.0` | `7.5.0` |
| [opusscript](https://github.com/abalabahaha/opusscript ) | `0.0.8` | `0.1.1` |
| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg ) | `8.22.0` | `8.23.0` |
| [pino](https://github.com/pinojs/pino ) | `9.14.0` | `10.3.1` |
| [piscina](https://github.com/piscinajs/piscina ) | `5.3.0` | `5.3.1` |
| [sharp](https://github.com/lovell/sharp ) | `0.34.5` | `0.35.3` |
| [ws](https://github.com/websockets/ws ) | `8.21.1` | `8.21.3` |
Updates `ioredis` from 5.11.1 to 6.0.0
- [Release notes](https://github.com/redis/ioredis/releases )
- [Changelog](https://github.com/redis/ioredis/blob/main/CHANGELOG.md )
- [Commits](https://github.com/redis/ioredis/compare/v5.11.1...v6.0.0 )
Updates `openai` from 6.49.0 to 7.5.0
- [Release notes](https://github.com/openai/openai-node/releases )
- [Changelog](https://github.com/openai/openai-node/blob/main/CHANGELOG.md )
- [Commits](https://github.com/openai/openai-node/compare/v6.49.0...v7.5.0 )
Updates `opusscript` from 0.0.8 to 0.1.1
- [Release notes](https://github.com/abalabahaha/opusscript/releases )
- [Commits](https://github.com/abalabahaha/opusscript/compare/0.0.8...0.1.1 )
Updates `pg` from 8.22.0 to 8.23.0
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md )
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.23.0/packages/pg )
Updates `pino` from 9.14.0 to 10.3.1
- [Release notes](https://github.com/pinojs/pino/releases )
- [Commits](https://github.com/pinojs/pino/compare/v9.14.0...v10.3.1 )
Updates `piscina` from 5.3.0 to 5.3.1
- [Release notes](https://github.com/piscinajs/piscina/releases )
- [Changelog](https://github.com/piscinajs/piscina/blob/v5.3.1/CHANGELOG.md )
- [Commits](https://github.com/piscinajs/piscina/compare/v5.3.0...v5.3.1 )
Updates `sharp` from 0.34.5 to 0.35.3
- [Release notes](https://github.com/lovell/sharp/releases )
- [Commits](https://github.com/lovell/sharp/compare/v0.34.5...v0.35.3 )
Updates `ws` from 8.21.1 to 8.21.3
- [Release notes](https://github.com/websockets/ws/releases )
- [Commits](https://github.com/websockets/ws/compare/8.21.1...8.21.3 )
---
updated-dependencies:
- dependency-name: ioredis
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: openai
dependency-version: 7.5.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: opusscript
dependency-version: 0.1.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: pg
dependency-version: 8.23.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: pino
dependency-version: 10.3.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: piscina
dependency-version: 5.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: sharp
dependency-version: 0.35.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: ws
dependency-version: 8.21.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:24:34 +00:00
dependabot[bot]
173ae3c61c
build(deps-dev): bump @types/node in /services/frontend
...
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) from 20.19.43 to 26.2.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 26.2.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:23:30 +00:00
dependabot[bot]
2637bbc549
build(deps-dev): bump @biomejs/biome in /services/frontend
...
Bumps [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) from 2.2.0 to 2.5.10.
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.10/packages/@biomejs/biome )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.10
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:23:19 +00:00
dependabot[bot]
6fc68126ac
build(deps-dev): bump @types/node in /services/backend
...
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) from 25.9.5 to 26.2.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 26.2.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:23:08 +00:00
dependabot[bot]
28d09a24c9
build(deps-dev): bump typescript in /services/discord-gateway
...
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 5.9.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v7.0.2 )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 7.0.2
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:22:50 +00:00
mytheclipsebotreview[bot]
f2ec642a0e
Auto-merge PR #12
...
build(deps-dev): bump puppeteer-core from 25.7.0 to 25.8.0 in /services/frontend
2026-08-25 11:21:41 +00:00
mytheclipsebotreview[bot]
8a491b9ec2
Auto-merge PR #8
...
build(deps): bump the production group in /services/frontend with 7 updates
2026-08-25 11:20:56 +00:00
mytheclipsebotreview[bot]
7d54d3a660
Auto-merge PR #2
...
build(deps): bump the production group in /services/backend with 4 updates
2026-08-25 11:20:48 +00:00
mytheclipsebotreview[bot]
21509c25ff
Auto-merge PR #15
...
build(deps-dev): bump @types/node from 25.9.5 to 26.2.0 in /services/discord-gateway
2026-08-25 11:20:35 +00:00
asepharyana
09724287cb
feat: update dependabot config
2026-08-25 18:16:49 +07:00
dependabot[bot]
1ac3d50315
build(deps-dev): bump @types/node in /services/discord-gateway
...
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) from 25.9.5 to 26.2.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 26.2.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:15:57 +00:00
dependabot[bot]
9c48d50d25
build(deps-dev): bump puppeteer-core in /services/frontend
...
Bumps [puppeteer-core](https://github.com/puppeteer/puppeteer ) from 25.7.0 to 25.8.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases )
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md )
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v25.7.0...puppeteer-core-v25.8.0 )
---
updated-dependencies:
- dependency-name: puppeteer-core
dependency-version: 25.8.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:15:28 +00:00
dependabot[bot]
8bd3ec8e83
build(deps): bump the production group
...
Bumps the production group in /services/frontend with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) | `1.28.0` | `1.33.0` |
| [motion](https://github.com/motiondivision/motion ) | `12.43.0` | `13.1.1` |
| [next](https://github.com/vercel/next.js ) | `16.2.12` | `16.3.2` |
| [react](https://github.com/react/react/tree/HEAD/packages/react ) | `19.2.4` | `19.2.8` |
| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom ) | `19.2.4` | `19.2.8` |
| [swr](https://github.com/vercel/swr ) | `2.4.2` | `2.5.1` |
| [three](https://github.com/mrdoob/three.js ) | `0.180.0` | `0.185.1` |
Updates `lucide-react` from 1.28.0 to 1.33.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.33.0/packages/lucide-react )
Updates `motion` from 12.43.0 to 13.1.1
- [Changelog](https://github.com/motiondivision/motion/blob/main/CHANGELOG.md )
- [Commits](https://github.com/motiondivision/motion/compare/v12.43.0...v13.1.1 )
Updates `next` from 16.2.12 to 16.3.2
- [Release notes](https://github.com/vercel/next.js/releases )
- [Commits](https://github.com/vercel/next.js/compare/v16.2.12...v16.3.2 )
Updates `react` from 19.2.4 to 19.2.8
- [Release notes](https://github.com/react/react/releases )
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/react/react/commits/v19.2.8/packages/react )
Updates `react-dom` from 19.2.4 to 19.2.8
- [Release notes](https://github.com/react/react/releases )
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/react/react/commits/v19.2.8/packages/react-dom )
Updates `swr` from 2.4.2 to 2.5.1
- [Release notes](https://github.com/vercel/swr/releases )
- [Commits](https://github.com/vercel/swr/compare/v2.4.2...v2.5.1 )
Updates `three` from 0.180.0 to 0.185.1
- [Release notes](https://github.com/mrdoob/three.js/releases )
- [Commits](https://github.com/mrdoob/three.js/commits )
---
updated-dependencies:
- dependency-name: lucide-react
dependency-version: 1.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: motion
dependency-version: 13.1.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: next
dependency-version: 16.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: react
dependency-version: 19.2.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: react-dom
dependency-version: 19.2.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: swr
dependency-version: 2.5.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: three
dependency-version: 0.185.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:15:04 +00:00
dependabot[bot]
5a4a203f01
build(deps): bump the production group
...
Bumps the production group in /services/backend with 4 updates: [ioredis](https://github.com/redis/ioredis ), [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg ), [pino](https://github.com/pinojs/pino ) and [ws](https://github.com/websockets/ws ).
Updates `ioredis` from 5.11.1 to 6.0.0
- [Release notes](https://github.com/redis/ioredis/releases )
- [Changelog](https://github.com/redis/ioredis/blob/main/CHANGELOG.md )
- [Commits](https://github.com/redis/ioredis/compare/v5.11.1...v6.0.0 )
Updates `pg` from 8.22.0 to 8.23.0
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md )
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.23.0/packages/pg )
Updates `pino` from 9.14.0 to 10.3.1
- [Release notes](https://github.com/pinojs/pino/releases )
- [Commits](https://github.com/pinojs/pino/compare/v9.14.0...v10.3.1 )
Updates `ws` from 8.21.1 to 8.21.3
- [Release notes](https://github.com/websockets/ws/releases )
- [Commits](https://github.com/websockets/ws/compare/8.21.1...8.21.3 )
---
updated-dependencies:
- dependency-name: ioredis
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: pg
dependency-version: 8.23.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: pino
dependency-version: 10.3.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: ws
dependency-version: 8.21.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:14:06 +00:00
asepharyana
7f0aa5a7ad
feat: dependabot config with multi-dir (backend, gateway, frontend)
2026-08-25 18:12:10 +07:00
asepharyana
eb0be981c6
feat: add dependabot config (npm)
2026-08-25 18:07:58 +07:00
mytheclipsebotreview[bot]
466e117bd5
Auto-merge PR #1
...
feat(fe): optimize error handling, state consistency, and WS feedback
2026-08-25 08:36:58 +00:00
asepharyana
31e303c187
feat(fe): optimize error handling, state consistency, and WS feedback
...
- Add global SWR config with exponential backoff retry (swr-config.ts)
- Add ErrorBoundary component for React crash recovery (error-boundary.tsx)
- Standardize ErrorState onRetry on all 6 dashboard views (dashboard, media,
messages, moderation, recordings, voice)
- Fix useAction: expose resetError + onError callback
- Refactor useSpeakers to SWR-backed state (was local useState) for
consistent cache/revalidate semantics with other hooks
- Remove polling in useReview (15s refreshInterval); replace with
useReviewWsSync subscribing to WS moderation_action events
- Extract hashUserId to lib/hash.ts (de-dup with ambient-canvas)
- WS context: add reconnect/error toast feedback via onStatusChange
- WS connection: expose reconnectAttemptCount getter
All typecheck + lint clean, Next 16 build passes.
2026-08-25 13:46:15 +07:00
asepharyana
796c6390ac
perf(gmw-ai): cache-hit optimization — bare-key Qdrant upsert + hit_count bump
2026-08-25 12:03:47 +07:00
asepharyana
ecbf2617e4
fix(ai-moderation): matikan hot requeue loop saat upload attachment in-flight
...
Batch race guard balikin {ok:true, rows:[]} tanpa sinyal saat semua target
masih upload-pending -> processor klasifikasi semua incomplete -> fanout ke
individual queue -> di situ requeue + reschedule 250ms -> balik ke batch:
hot loop ~300ms sepanjang upload (10 siklus/3 dtk di log prod 08:13).
Fix: worker batch kini return uploadPendingIds eksplisit; classifier pure
baru (partitionBatchOutcome) partisi completed/upload_pending/incomplete/
parse_failed/api_failed; target upload-pending DEFERRED dengan poll backoff
linear (AI_ANALYSIS_UPLOAD_POLL_MS 1500 base, cap AI_ANALYSIS_MAX_UPLOAD_POLL_MS
8000), tidak pernah masuk fanout; tail shouldScheduleNext tak menimpa defer.
Test: tests/batchOutcomeClassifier.test.ts (8 kasus, pure tanpa DB/Piscina).
2026-08-25 10:37:11 +07:00
asepharyana
9ef7d005fb
style(llmClient): explicit type utk let completion (noImplicitAnyLet)
2026-08-24 22:07:33 +07:00
asepharyana
842610b1af
fix(ai-moderation): bedah delay attachment ~330s -> target <20s
...
Root cause (trace msg 1541417073245290638):
- Race-guard upload-pending balik results:[] diperlakukan sbg SUKSES
-> row yatam 'processing' sampai cleanup 300s mengembalikan
- Vision gagal 3x utk GIF besar (SSE truncation) tanpa fallback
Fix:
- Sinyal eksplisit uploadPending dari worker race guard
- Classifier murni classifyIndividualWorkerResult(): upload_pending ->
requeue pending + reschedule segera (250ms), bukan error palsu;
empty-results ok:true kini error transien (bug silent-success mati)
- llmVision fallback stream:false sekali saat SSE truncation
- Safety-net cleanup stuck processing 300s -> 120s
2026-08-24 22:05:28 +07:00
asepharyana
fca96396b9
style(ai-moderation): sort import moderationOrchestrator (biome organizeImports)
2026-08-24 20:20:26 +07:00
asepharyana
ccf3fa260e
perf(ai-moderation): dual-key write-back — clean verdict ikut di-cache global
...
Analisis pertama tetap berkonteks (chat history) demi akurasi, tapi
verdict clean non-actionable (conf>=0.85) juga ditulis di bare key
tanpa konteks. Repeat teks sama di channel lain -> exact cache HIT,
bukan LLM call baru. Guard sama dgn read path; dedupe LRU per proses;
bare row tanpa embedding (tier semantic sudah global).
2026-08-24 20:18:14 +07:00
asepharyana
1accfd9390
perf(ai-moderation): naikkan cache hit dgn guard akurasi
...
- Fase-1 exact-cache lookup: N query serial -> SATU query ANY($1::text[])
- Global reuse utk bare key legacy, HANYA verdict non-actionable
(clean/flagless/action=none, conf>=0.85, umur<=72h) — flagged/warn
tetap context-scoped
- Semantic cache dua-band: clean band 0.92 default, actionable tetap
0.97; di antara band -> LLM (fail-open ke akurasi)
- hit_count kini di-increment (bulk UPDATE per batch) -> hit-rate terukur
- Cache hasil wikipediaSearch di Redis (6h, hanya hasil non-kosong)
- Memoize fetchUrlSafely utk type=text (LRU 30m + in-flight dedupe)
- makeImageCacheKey strip query CDN Discord (?ex/is/hm, format/width)
-> attachment sama = satu key vision, skip re-download+re-vision
Spec: .hermes/plans/2026-08-24-ai-analysis-cache-optimization.md
Tests: +33 (cacheGuards, discordImageKeyNormalize, cacheBatchLookup)
2026-08-24 18:51:23 +07:00
asepharyana
440ec41da8
polish(frontend): perkuat bracket & marker segitiga game-menu (nudge anim)
2026-08-24 17:52:50 +07:00
asepharyana
1c8c0ca081
fix(frontend): normalisasi trailing slash pada isActivePath agar nav aktif terdeteksi
2026-08-24 17:44:42 +07:00
asepharyana
5f42c17caa
feat(frontend): tema monokrom + sidebar animasi game-menu + gate ringan mobile
2026-08-24 17:35:51 +07:00
asepharyana
eda5c752b7
revert(frontend): kembalikan shell usable — hapus total eksperimen constellation (three/d3-force dihapus)
2026-08-24 16:32:16 +07:00
asepharyana
25d5097edb
fix(frontend): definite-height overlay chain so absolute panels anchor to viewport
2026-08-24 16:15:55 +07:00
asepharyana
d3e3b4764a
fix(frontend): let empty overlay areas click through to the constellation sky
2026-08-24 16:02:57 +07:00
asepharyana
33a557c761
fix(frontend): soften constellation glow for light theme
2026-08-24 15:48:15 +07:00
asepharyana
32de2819df
feat(frontend): a11y constellation mirror — sr/keyboard-accessible node list
2026-08-24 15:47:19 +07:00
asepharyana
a21d252e9b
feat(frontend): eased camera fly-to on scene transitions (reduced-motion aware)
2026-08-24 15:46:08 +07:00
asepharyana
84a766db0c
feat(frontend): voice stage-orbit, media queue-spiral & recordings timeline-ring scenes
2026-08-24 15:44:10 +07:00
asepharyana
0581dc3485
feat(frontend): messages orbital-belt & moderation verdict-hub scenes
2026-08-24 15:35:51 +07:00
asepharyana
3d6c07bd91
feat(frontend): glossary satellite ring + analysis search console scenes
2026-08-24 15:29:21 +07:00
asepharyana
60ae1fb5c3
feat(frontend): dashboard & channels constellation scenes — publish bridge + floating overlays
2026-08-24 15:22:27 +07:00
asepharyana
1fafebb16d
refactor(frontend): remove classic dashboard chrome (topbar/navrail/mobilenav)
2026-08-24 15:07:40 +07:00
asepharyana
a9e09c38e9
feat(frontend): constellation stage + floating chrome replace classic shell
2026-08-24 15:04:31 +07:00
asepharyana
3d4236e8df
feat(frontend): constellation lib scaffold — graph/layout/camera pure modules (tested)
2026-08-24 14:46:38 +07:00
asepharyana
16becd5340
perf(ai): kontiguitas batch budget + max_tokens dinamis + urutan kronologis RETURNING
...
- pickBatchWithinBudget: stop di overflow pertama (break), bukan skip —
batch tetap prefix kronologis tanpa gap analisis di tengah timeline.
Diekstrak ke batchBudget.ts (pure, estimator di-inject) + regression test.
- callModerationLLM: param opsional maxTokens; text/media caller menghitung
ceiling dari estimasi prompt (floor 2048, cap 16384) — batch kecil tak
lagi reserve window completion 16k.
- getPending/IncompleteMessagesByConversation: sort hasil UPDATE..RETURNING
by created_at ASC — Postgres tak menjamin urutan, konsumen (anchor konteks
messages[0], prefix batch) bergantung pada urutan kronologis.
2026-08-22 17:19:41 +07:00
asepharyana
1397380fe9
fix(ai): pertahankan status warn di cache moderasi + bersihkan prompt stale
...
- normalizeStoredStatus(): exact-hash & semantic (Qdrant/PG) cache reader
sebelumnya menipiskan 'warn' jadi 'flagged'/'clean' (type narrowing
legacy clean|flagged) — merusak gating auto-delete & label dashboard.
Kini status tersimpan dipertahankan penuh (clean/warn/flagged).
- prompts: hapus referensi <user_history> yang tak pernah di-inject,
SearXNG -> Wikipedia (sudah migrasi), referensi section yang tak ada,
typo 'secifik', dan baris list rusak '|-'.
- moderationBuilders: buang dead code buildUserProfilesBlock/
buildUserProfileRef/UserProfileEntry/buildUserHistoryXml (tanpa caller
produksi sejak context minimization) + test-nya.
- test baru: tests/storedStatusNormalization.test.ts (regresi warn).
2026-08-22 16:17:55 +07:00