spec: add BEHAVIOR_SPEC and fix B-01~B-10 (resolved/decay/scoring)

- Add BEHAVIOR_SPEC.md as full system behaviour reference
- B-01: stop auto-archiving resolved buckets in update()
- B-03: keep activation_count as float in calculate_score
- B-04: initialise activation_count=0 on create
- B-05: time score coefficient 0.1 -> 0.02
- B-06: w_time default 2.5 -> 1.5
- B-07: content_weight default 3.0 -> 1.0
- B-08: refresh local meta after auto_resolve
- B-09: user-supplied valence/arousal takes priority over analyze()
- B-10: allow empty domain for feel buckets
- Refresh INTERNALS/README/dashboard accordingly
This commit is contained in:
P0luz
2026-04-21 18:45:52 +08:00
parent c7ddfd46ad
commit ccdffdb626
10 changed files with 1186 additions and 36 deletions

View File

@@ -14,11 +14,12 @@
import os
import pytest
import asyncio
import pytest_asyncio
# Feel flow tests use direct BucketManager calls, no LLM needed.
@pytest.fixture
@pytest_asyncio.fixture
async def isolated_tools(test_config, tmp_path, monkeypatch):
"""
Import server tools with config pointing to temp dir.

View File

@@ -1,3 +1,4 @@
import pytest_asyncio
# ============================================================
# Test 1: Scoring Regression — pure local, no LLM needed
# 测试 1评分回归 —— 纯本地,不需要 LLM
@@ -22,7 +23,7 @@ from tests.dataset import DATASET
# ============================================================
# Fixtures: populate temp buckets from dataset
# ============================================================
@pytest.fixture
@pytest_asyncio.fixture
async def populated_env(test_config, bucket_mgr, decay_eng):
"""Create all dataset buckets in temp dir, return (bucket_mgr, decay_eng, bucket_ids)."""
import frontmatter as fm