refactor(graph_overview): 概览各列表加数量上限,止住上下文膨胀
用"最新一窗 + 计数/pull 兜底"替换 hot/cold 拆分与 balancedCap: - recent_facts 20、recent_done_intents 12、open_intents 30(按 priority) - cold_digests 15,按最新成员时间(max member id)降序,溢出的更旧 digest 只给裸 id(cold_digests_more),仍可 expand_digest 展开 - 新增 CountOpenIntents,frontier_open 报开放意图真实总数(与截断视图解耦) - 删除 balancedCap/unfoldedCap/unfolded_truncated 及其测试 掉出窗口的节点不丢:facts/done_intents_total/frontier_open/findings_total 计数在,list_facts/list_findings/node_detail/expand_digest 可按需回捞
This commit is contained in:
1 parent
43d1743dc0
commit
3aac6754a8
4 files changed
+93
-99
No files matched your search
@@ -808,6 +808,16 @@ WHERE exploration_id=$1 AND kind='intent' AND state IN ('done','blocked','exhaus
|
||||
return n, err
|
||||
}
|
||||
|
||||
// CountOpenIntents counts this exploration's open intents — graph_overview's
|
||||
// frontier_open, so the planner knows open_intents (capped at the top-N by
|
||||
// priority) is a truncated view and there may be more claimable work.
|
||||
func (s *ExplorationStore) CountOpenIntents() (int, error) {
|
||||
var n int
|
||||
err := s.db.QueryRow(`SELECT COUNT(*) FROM exploration_nodes
|
||||
WHERE exploration_id=$1 AND kind='intent' AND state='open'`, s.expID).Scan(&n)
|
||||
return n, err
|
||||
}
|
||||
|
||||
// GetNode returns one node of this exploration by id (nil, nil if not found).
|
||||
func (s *ExplorationStore) GetNode(id int64) (*Node, error) {
|
||||
n, err := scanNode(s.db.QueryRow(`SELECT `+nodeCols+` FROM exploration_nodes WHERE id=$1 AND exploration_id=$2`, id, s.expID))
|
||||
|
||||
Reference in new issue
Block a user