~bigbes/agents-dev · issues

k3amt89h13lptc8s4hbp3llh8e2j2hdb · 106 rows

idcontent_hashtitledescriptiondesignacceptance_criterianotesstatuspriorityissue_typeassigneeestimated_minutescreated_atcreated_byownerupdated_atclosed_atclosed_by_sessionexternal_refspec_idcompaction_levelcompacted_atcompacted_at_commitoriginal_sizesenderephemeralwisp_typepinnedis_templatemol_typework_typesource_systemmetadatasource_repoclose_reasonevent_kindactortargetpayloadawait_typeawait_idtimeout_nswaitershook_beadrole_beadagent_statelast_activityrole_typerigdue_atdefer_untilno_historystarted_atis_blocked
ah-ydx8735805091c14831debfbdb26c8f324f6832e8b80ebcc313e05201a7bd3c85f8Stage 3: mem0 memory lifecycle + Context PackPer SPEC SS14.3: mem0 REST client (X-API-Key, scoping user_id=proj:<slug>/global, run_id=task:<id> — agent_id filter is buggy upstream); load cascade on claim -> .task/CONTEXT.md section; save on Done; post-run summarizer role; Context Pack builder (task+thread+parent-chain+memory+git, ~40k char budget, deterministic order, truncate-from-tail).Audit note (2026-07-20): the SPEC 14.3 'post-run summarizer role' was never implemented as a role — the shipped design substitutes the agent-authored .task/summary.md + mem0 infer=true LLM extraction at Done-time (memory.go). All four ah-ydx children are closed. DECISION NEEDED: if the substitution is accepted, update the epic body + SPEC 14.3 wording and close this epic; otherwise the summarizer role is the one remaining piece.open3epicNULLNULL2026-07-12T23:36:28ZEugene Blikhbigbes@gmail.com2026-07-19T23:38:22ZNULLNULL0NULLNULLNULL000�{}0NULLNULLNULL0NULL0
ah-ydx.1942024e29b162a28d01e0bddbd3bf862f1ff8bf498c45bd03199c5a0dc916489internal/mem0: REST client for live mem0.bigb.esTyped Go client for the self-hosted Mem0 server (LIVE at mem0.bigb.es, phoebe-lab/mem0 stack): X-API-Key auth, add/search/get-all/delete memories. Encode scoping conventions as helpers: user_id='proj:<slug>' | 'global', run_id='task:<id>'; do NOT rely on agent_id filtering (buggy upstream per SPEC §14.3). Stdlib-only, httptest unit tests; live verification (incl. API-key provisioning via dashboard/register) is a follow-up ops step.closed2featureEugene BlikhNULL2026-07-18T13:23:56ZEugene Blikhbigbes@gmail.com2026-07-18T13:41:11Z2026-07-18T13:41:11ZNULL0NULLNULLNULL000�{}internal/mem0 client merged to master (55b9b43); routes confirmed against mem0 v2.0.11 source; live verification against mem0.bigb.es tracked in ah-ydx.30NULLNULLNULL02026-07-18T13:25:07Z0
ah-ydx.2f548f321fdf44dbfaaa3c420a175ff8b3bea76ab1cf76d097509d87eeb461072internal/ctxpack: Context Pack builderDeterministic prompt-context assembler per SPEC §14.3: ordered sections (task, comment thread, parent chain, memory, git log/diffstat) under a ~40k char budget, per-section truncate-from-tail with stable ordering so identical inputs render identical packs. Pure package + table tests first; wiring into runner PROMPT.md rendering is a separate integration step after wave 1 merges.closed2featureEugene BlikhNULL2026-07-18T13:23:56ZEugene Blikhbigbes@gmail.com2026-07-18T13:41:11Z2026-07-18T13:41:11ZNULL0NULLNULLNULL000�{}internal/ctxpack merged to master (342410e); format contract pinned by golden tests; runner integration tracked in ah-ydx.30NULLNULLNULL02026-07-18T13:25:08Z0
ah-ydx.316681b27f4960105b6ca27beabc1e8219b7b6edab3c59c243830102a1c17bd7aMemory lifecycle: load-on-claim CONTEXT section, save-on-DoneWire mem0 into the task loop per SPEC §14.3: on claim, search mem0 (proj scope + global) and render a memory section into the prompt context via ctxpack; on Done/Cancelled terminal scan (shares the ah-07g hook), save run summary/verdict facts back to mem0 (run_id='task:<id>'). Depends on the mem0 client, ctxpack, and the ah-07g terminal-state scan.MEM0 SERVER HEALTHY (2026-07-18, after user-authorized override delete + restart): /configure now reflects env-of-truth (deepseek/deepseek-v4-flash + nvidia/nemotron-embed-1b-v2). FULL live smoke green: ADD infer=false 200/event=ADD; SEARCH 200 with score (embeddings ok); ADD infer=true 200 (LLM extraction ok); LIST/PURGE/EMPTY clean; bogus key 401. Server-side contract fully verified — lifecycle implementation unblocked once ah-07g lands the terminal-state hook. OPERATIONAL RULE: mem0 config is ENV-ONLY; never POST /configure (GET redacts secrets, round-trip corrupts stored creds — happened + fixed today, backup at phoebe:/root/mem0-settings-backup.sql); if a stored override reappears (dashboard onboarding creates one), delete settings row key=config_overrides + restart.closed2featureEugene BlikhNULL2026-07-18T13:23:57ZEugene Blikhbigbes@gmail.com2026-07-18T16:22:33Z2026-07-18T16:22:33ZNULL0NULLNULLNULL000�{}Merged b761cbe: recall-on-claim (## Relevant memories via ctxpack, proj+global scopes, 15s budget, feature-off byte-identical) + save-on-Done (save→archive→prune ordering, infer=true, once-only via worktree signal, Cancelled excluded). Rollout: install MEM0_API_KEY in /etc/agent-hub/env, live-smoke recall block + one memory_saved event.0NULLNULLNULL02026-07-18T15:59:39Z0
ah-ydx.4082c3365aabe053240cf35195442ee1ca6547ba635899ad10f3319fea286fd7eFull Context Pack: thread comments, parent chain, git log sections in promptah-ydx.2's ctxpack renders only the memory section today. SPEC §14.3's full pack adds: board comment thread, parent-chain summaries (delegation), git log/diffstat of the branch — assembled with the memory section under the ~40k budget in canonical order. Backlog until the current prompt shape shows its limits in live runs.closed3featureEugene BlikhNULL2026-07-18T16:22:34ZEugene Blikhbigbes@gmail.com2026-07-18T18:47:54Z2026-07-18T18:47:54ZNULL0NULLNULLNULL000�{}Full Context Pack live: thread + parent-chain + memory + git sections through one 40k-budget ctxpack build on the claim path; context_pack audit event; per-section graceful degradation.0NULLNULLNULL02026-07-18T18:19:54Z0
ah-ziqf6ed15a8569893a586511b86daf9a0cfc59c0fd794875182892371c1c8323d80yonote: comments.resolve 400s — live API requires isResolved boolean in bodyLive re-smoke of the Q&A loop (ah-eje, task 5) proved comments.resolve is broken: the daemon's POST /api/comments.resolve got HTTP 400 invalid_type 'Invalid input: expected boolean, received undefined (isResolved)'. Yonote 1.47.1 requires an isResolved:true field in the resolve payload; our client sends only {id}. Deterministic — every resolve fails, answer delivery is unaffected (non-fatal WARN path worked as designed). Fix: add IsResolved to the resolve wire payload in internal/yonote/comments.go, adjust tests, re-verify live that a fresh qa question ends isResolved:true.closed2bugEugene BlikhNULL2026-07-19T18:11:32ZEugene Blikhbigbes@gmail.com2026-07-19T18:21:38Z2026-07-19T18:21:38ZNULL0NULLNULLNULL000�{}Fixed in 2720611: resolve payload now {id, isResolved:true}. Live-verified (task 6 / comment 732b89b2): resolve succeeded, no WARN, comment isResolved:true.0NULLNULLNULL02026-07-19T18:11:47Z0