kimi
919a011cae
feat: adapt token rewards based on system stress signals ( #714 )
...
Implements adaptive token rewards that respond to system stress:
- StressDetector module (timmy/stress_detector.py):
- Monitors 4 stress signals: flaky test rate, P1 backlog growth,
CI failure rate, open bug count
- Calculates weighted stress score (0-1) and determines mode:
calm (<0.3), elevated (0.3-0.6), high (>0.6)
- Applies quest-specific multipliers based on current mode
- Configuration (config/stress_modes.yaml):
- Thresholds for mode transitions
- Signal weights and thresholds
- Multipliers per mode (e.g., test_improve: 1.5x in high stress)
- Quest system integration:
- Rewards now include stress bonus/penalty in notification
- Quest status API includes adjusted_reward and multiplier
- Agent can see current stress mode and why rewards changed
- API endpoints:
- GET /quests/api/stress - current stress mode and signals
- POST /quests/api/stress/refresh - force refresh stress detection
Fixes #714
2026-03-21 17:26:40 -04:00
a95cf806c8
[kimi] Implement token quest system for agents ( #713 ) ( #789 )
2026-03-21 20:45:35 +00:00
46f89d59db
[kimi] Add Golden Path generator for longer sessions ( #717 ) ( #785 )
2026-03-21 19:41:34 +00:00
65df56414a
[kimi] Add visitor_state message handler ( #670 ) ( #699 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-21 18:08:53 +00:00
dc9f0c04eb
[kimi] Add rate limiting middleware for Matrix API endpoints ( #683 ) ( #746 )
2026-03-21 16:23:16 +00:00
815933953c
[kimi] Add WebSocket authentication for Matrix connections ( #682 ) ( #744 )
2026-03-21 16:14:05 +00:00
d54493a87b
[kimi] Add /api/matrix/health endpoint ( #685 ) ( #745 )
2026-03-21 15:51:29 +00:00
f7404f67ec
[kimi] Add system_status message producer ( #681 ) ( #743 )
2026-03-21 15:13:01 +00:00
5f4580f98d
[kimi] Add matrix config loader utility ( #680 ) ( #742 )
2026-03-21 15:05:06 +00:00
ddadc95e55
[kimi] Add /api/matrix/memory/search endpoint ( #678 ) ( #740 )
2026-03-21 14:52:31 +00:00
8fc8e0fc3d
[kimi] Add /api/matrix/thoughts endpoint for recent thought stream ( #677 ) ( #739 )
2026-03-21 14:44:46 +00:00
ada0774ca6
[kimi] Add Pip familiar state to agent_state messages ( #676 ) ( #738 )
2026-03-21 14:37:39 +00:00
2a7b6d5708
[kimi] Add /api/matrix/bark endpoint — HTTP fallback for bark messages ( #675 ) ( #737 )
2026-03-21 14:32:04 +00:00
9d4ac8e7cc
[kimi] Add /api/matrix/config endpoint for world configuration ( #674 ) ( #736 )
2026-03-21 14:25:19 +00:00
c9601ba32c
[kimi] Add /api/matrix/agents endpoint for Matrix visualization ( #673 ) ( #735 )
2026-03-21 14:18:46 +00:00
646eaefa3e
[kimi] Add produce_thought() to stream thinking to Matrix ( #672 ) ( #734 )
2026-03-21 14:09:19 +00:00
2fa5b23c0c
[kimi] Add bark message producer for Matrix bark messages ( #671 ) ( #732 )
2026-03-21 14:01:42 +00:00
9b57774282
[kimi] feat: pre-cycle state validation for stale cycle_result.json ( #661 ) ( #666 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-21 13:53:11 +00:00
62bde03f9e
[kimi] feat: add agent_state message producer ( #669 ) ( #698 )
2026-03-21 13:46:10 +00:00
3474eeb4eb
[kimi] refactor: extract presence state serializer from workshop heartbeat ( #668 ) ( #697 )
2026-03-21 13:41:42 +00:00
e92e151dc3
[kimi] refactor: extract WebSocket message types into shared protocol module ( #667 ) ( #696 )
2026-03-21 13:37:28 +00:00
1f1bc222e4
[kimi] test: add comprehensive tests for spark modules ( #659 ) ( #695 )
2026-03-21 13:32:53 +00:00
cc30bdb391
[kimi] test: add comprehensive tests for multimodal.py ( #658 ) ( #694 )
2026-03-21 04:00:53 +00:00
6f0863b587
[kimi] test: add comprehensive tests for config.py ( #648 ) ( #693 )
2026-03-21 03:54:54 +00:00
c9445e3056
[kimi] refactor: extract helpers from CSRFMiddleware.dispatch ( #628 ) ( #691 )
2026-03-21 03:41:09 +00:00
9d0f5c778e
[loop-cycle-2] fix: resolve endpoint before execution in CSRF middleware ( #626 ) ( #656 )
2026-03-20 23:05:09 +00:00
2381d0b6d0
refactor: break up _create_bug_report — extract helpers ( #645 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-20 22:03:40 +00:00
001358c64f
refactor: break up create_gitea_issue_via_mcp into helpers ( #647 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-20 17:29:55 -04:00
7452e8a4f0
fix: add missing tests for Tower route /tower ( #621 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-20 16:22:13 -04:00
f3b3d1e648
[loop-cycle-1658] feat: provider health history endpoint ( #457 ) ( #611 )
2026-03-20 16:09:20 -04:00
4ba8d25749
feat: Lightning Network integration for tool usage ( #610 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-20 13:07:02 -04:00
e3d60b89a9
fix: remove model_size kwarg from create_timmy() CLI calls ( #606 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-20 12:48:49 -04:00
2577b71207
fix: capture thought timestamp at cycle start, not after LLM call ( #590 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-20 12:13:48 -04:00
faf6c1a5f1
[loop-cycle-1233] refactor: break up BaseAgent.run() ( #561 ) ( #584 )
2026-03-20 11:24:36 -04:00
48103bb076
[loop-cycle-956] refactor: break up _handle_message() into focused helpers ( #553 ) ( #574 )
2026-03-19 21:42:01 -04:00
9f244ffc70
refactor: break up _record_utterance() into focused helpers ( #572 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-19 21:37:32 -04:00
0162a604be
refactor: break up voice_loop.py::run() into focused helpers ( #567 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-19 21:33:59 -04:00
7da434c85b
[loop-cycle-946] refactor: complete airllm removal ( #486 ) ( #545 )
2026-03-19 20:46:20 -04:00
b331aa6139
refactor: break up capture_error() into testable helpers ( #523 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-19 20:03:28 -04:00
b45b543f2d
refactor: break up create_timmy() into testable helpers ( #520 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-19 19:51:59 -04:00
015d858be5
fix: auto-detect issue number in cycle retro from git branch ( #495 )
...
## Summary
- `cycle_retro.py` now auto-detects issue number from the git branch name (e.g. `kimi/issue-492` → `492`) when `--issue` is not provided
- `backfill_retro.py` now skips the PR number suffix Gitea appends to titles so it does not confuse PR numbers with issue numbers
- Added tests for both fixes
Fixes #492
Co-authored-by: kimi <kimi@localhost>
Reviewed-on: http://localhost:3000/rockachopa/Timmy-time-dashboard/pulls/495
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-19 16:13:35 -04:00
15eb7c3b45
[loop-cycle-538] refactor: remove dead airllm provider from cascade router ( #459 ) ( #481 )
2026-03-19 15:44:10 -04:00
dbc2fd5b0f
[loop-cycle-536] fix: validate_startup checks CORS wildcard in production ( #472 ) ( #478 )
2026-03-19 15:29:26 -04:00
3c3aca57f1
[loop-cycle-535] perf: cache Timmy agent at startup ( #471 ) ( #476 )
...
## What
Cache the Timmy agent instance at app startup (in lifespan) instead of creating a new one per `/serve/chat` request.
## Changes
- `src/timmy_serve/app.py`: Create agent in lifespan, store in `app.state.timmy`
- `tests/timmy/test_timmy_serve_app.py`: Updated tests for lifespan-based caching, added `test_agent_cached_at_startup`
2085 unit tests pass. 2102 pre-push tests pass. 78.5% coverage.
Closes #471
Co-authored-by: Timmy <timmy@timmytime.ai >
Reviewed-on: http://localhost:3000/rockachopa/Timmy-time-dashboard/pulls/476
Co-authored-by: Timmy Time <timmy@Alexanderwhitestone.ai >
Co-committed-by: Timmy Time <timmy@Alexanderwhitestone.ai >
2026-03-19 15:28:57 -04:00
3df526f6ef
[loop-cycle-2] feat: hot-reload providers.yaml without restart ( #458 ) ( #470 )
2026-03-19 15:11:40 -04:00
12582ab593
fix: stabilize flaky test_uses_model_when_available ( #456 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-19 14:39:33 -04:00
72c3a0a989
fix: integration tests for agentic loop WS broadcasts ( #452 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-19 14:30:00 -04:00
de089cec7f
[loop-cycle-524] fix: remove numpy test dependency in test_memory_embeddings ( #451 )
2026-03-19 14:22:13 -04:00
2161c32ae8
fix: add unit tests for agentic_loop.py ( #421 ) ( #447 )
...
Co-authored-by: Kimi Agent <kimi@timmy.local >
Co-committed-by: Kimi Agent <kimi@timmy.local >
2026-03-19 14:13:50 -04:00
98b1142820
[loop-cycle-522] test: add unit tests for agentic_loop.py ( #421 ) ( #441 )
2026-03-19 14:10:16 -04:00