main · last commit
13 days ago ·
7g0stsfu
ah-ydx.3 Memory lifecycle: load-on-claim CONTEXT section, save-on-Done
Past Stand
bd reopen ah-ydx.3
| Created by | Eugene Blikh |
| Owner | bigbes@gmail.com |
| Created | 2026-07-18T13:23:57Z |
| Started | 2026-07-18T15:59:39Z |
| Updated | 2026-07-18T16:22:33Z |
| Closed | 2026-07-18T16:22:33Z |
Wire 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.
ah-07g
— Investigate unbounded .task/events.jsonl (202MB for one design run)
blocks
closed
ah-ydx
— Stage 3: mem0 memory lifecycle + Context Pack
parent-child
open
ah-ydx.1
— internal/mem0: REST client for live mem0.bigb.es
blocks
closed
ah-ydx.2
— internal/ctxpack: Context Pack builder
blocks
closed
Nothing depends on this issue.
| id | ah-ydx.3 |
| content_hash | 16681b27f4960105b6ca27beabc1e8219b7b6edab3c59c243830102a1c17bd7a |
| title | Memory lifecycle: load-on-claim CONTEXT section, save-on-Done |
| description | Wire 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. |
| design | |
| acceptance_criteria | |
| notes | 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. |
| status | closed |
| priority | 2 |
| issue_type | feature |
| assignee | Eugene Blikh |
| estimated_minutes | NULL |
| created_at | 2026-07-18T13:23:57Z |
| created_by | Eugene Blikh |
| owner | bigbes@gmail.com |
| updated_at | 2026-07-18T16:22:33Z |
| closed_at | 2026-07-18T16:22:33Z |
| closed_by_session | |
| external_ref | NULL |
| spec_id | |
| compaction_level | 0 |
| compacted_at | NULL |
| compacted_at_commit | NULL |
| original_size | NULL |
| sender | |
| ephemeral | 0 |
| wisp_type | |
| pinned | 0 |
| is_template | 0 |
| mol_type | |
| work_type | |
| source_system | |
| metadata | �{} |
| source_repo | |
| close_reason | 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. |
| event_kind | |
| actor | |
| target | |
| payload | |
| await_type | |
| await_id | |
| timeout_ns | 0 |
| waiters | |
| hook_bead | |
| role_bead | |
| agent_state | |
| last_activity | NULL |
| role_type | |
| rig | |
| due_at | NULL |
| defer_until | NULL |
| no_history | 0 |
| started_at | 2026-07-18T15:59:39Z |
| is_blocked | 0 |
| id | 01f6825a-b2d8-5f97-9875-54a81da49f60 |
| issue_id | ah-ydx.3 |
| type | blocks |
| created_at | 2026-07-18T16:25:06Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-07g |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 3125ac59-cda6-57f7-9a1a-88ec421121e4 |
| issue_id | ah-ydx.3 |
| type | parent-child |
| created_at | 2026-07-18T16:23:57Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-ydx |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | b3bfbc77-fcd4-5a34-a42c-84d2ffd404db |
| issue_id | ah-ydx.3 |
| type | blocks |
| created_at | 2026-07-18T16:25:05Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-ydx.1 |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | d18e81be-180a-5df5-b03b-6bc78973fa9b |
| issue_id | ah-ydx.3 |
| type | blocks |
| created_at | 2026-07-18T16:25:05Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-ydx.2 |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 019f7565-da2c-7a8f-a0c9-2b75d820286f |
| issue_id | ah-ydx.3 |
| event_type | created |
| actor | Eugene Blikh |
| old_value | |
| new_value | |
| comment | NULL |
| created_at | 2026-07-18T16:23:57Z |
| id | 019f7582-6b97-727c-a5de-343dd33c8fcd |
| issue_id | ah-ydx.3 |
| event_type | updated |
| actor | Eugene Blikh |
| old_value | {"id":"ah-ydx.3","title":"Memory lifecycle: load-on-claim CONTEXT section, save-on-Done","description":"Wire 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:\u003cid\u003e'). Depends on the mem0 client, ctxpack, and the ah-07g terminal-state scan.","status":"open","priority":2,"issue_type":"feature","owner":"bigbes@gmail.com","created_at":"2026-07-18T13:23:57Z","created_by":"Eugene Blikh","updated_at":"2026-07-18T13:23:57Z"} |
| new_value | {"notes":"MEM0 LIVE STATE (2026-07-18): server DEGRADED, needs one operator command (classifier-blocked for me — see handoff). History: (1) found deployed server 502s on all embed/LLM calls — STORED runtime config (mem0_app.settings key=config_overrides, created via dashboard/configure at some point) carries UNPREFIXED model names (deepseek-v4-flash, nemotron-embed-1b-v2) that LiteLLM rejects; container env has the CORRECT prefixed names. (2) My repair attempt made it worse: GET /configure REDACTS secrets, and POSTing the round-tripped body back overwrote the stored pgvector password with a redacted value — now ALL memory endpoints 502 (pgvector auth fails). (3) Correct fix: delete the single settings row so the server falls back to env-of-truth (prefixed models + correct creds), restart api. LESSON for lifecycle bead: never round-trip /configure GET-\u003ePOST (redaction!); prefer env-only config, no stored overrides. Client-side contract validated live BEFORE breakage: routes flat, X-API-Key admin works, LIST/DELETE-scope 200 envelope {results}/{message}, bogus key 401."} |
| comment | NULL |
| created_at | 2026-07-18T16:55:09Z |
| id | 019f7584-d969-719e-9a42-534849e815fb |
| issue_id | ah-ydx.3 |
| event_type | updated |
| actor | Eugene Blikh |
| old_value | {"id":"ah-ydx.3","title":"Memory lifecycle: load-on-claim CONTEXT section, save-on-Done","description":"Wire 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:\u003cid\u003e'). Depends on the mem0 client, ctxpack, and the ah-07g terminal-state scan.","notes":"MEM0 LIVE STATE (2026-07-18): server DEGRADED, needs one operator command (classifier-blocked for me — see handoff). History: (1) found deployed server 502s on all embed/LLM calls — STORED runtime config (mem0_app.settings key=config_overrides, created via dashboard/configure at some point) carries UNPREFIXED model names (deepseek-v4-flash, nemotron-embed-1b-v2) that LiteLLM rejects; container env has the CORRECT prefixed names. (2) My repair attempt made it worse: GET /configure REDACTS secrets, and POSTing the round-tripped body back overwrote the stored pgvector password with a redacted value — now ALL memory endpoints 502 (pgvector auth fails). (3) Correct fix: delete the single settings row so the server falls back to env-of-truth (prefixed models + correct creds), restart api. LESSON for lifecycle bead: never round-trip /configure GET-\u003ePOST (redaction!); prefer env-only config, no stored overrides. Client-side contract validated live BEFORE breakage: routes flat, X-API-Key admin works, LIST/DELETE-scope 200 envelope {results}/{message}, bogus key 401.","status":"open","priority":2,"issue_type":"feature","owner":"bigbes@gmail.com","created_at":"2026-07-18T13:23:57Z","created_by":"Eugene Blikh","updated_at":"2026-07-18T13:55:09Z"} |
| new_value | {"notes":"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."} |
| comment | NULL |
| created_at | 2026-07-18T16:57:48Z |
| id | 019f75f4-6587-743d-bf04-0f5e232a4219 |
| issue_id | ah-ydx.3 |
| event_type | claimed |
| actor | Eugene Blikh |
| old_value | {"id":"ah-ydx.3","title":"Memory lifecycle: load-on-claim CONTEXT section, save-on-Done","description":"Wire 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:\u003cid\u003e'). Depends on the mem0 client, ctxpack, and the ah-07g terminal-state scan.","notes":"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.","status":"open","priority":2,"issue_type":"feature","owner":"bigbes@gmail.com","created_at":"2026-07-18T13:23:57Z","created_by":"Eugene Blikh","updated_at":"2026-07-18T13:57:49Z"} |
| new_value | {"assignee":"Eugene Blikh","status":"in_progress"} |
| comment | NULL |
| created_at | 2026-07-18T18:59:38Z |
| id | 019f7609-5df3-7e2c-9c47-040780bda56d |
| issue_id | ah-ydx.3 |
| event_type | closed |
| actor | Eugene Blikh |
| old_value | |
| new_value | 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. |
| comment | NULL |
| created_at | 2026-07-18T19:22:33Z |
| id | 019f7cda-8a36-7d94-95ee-828f51fb2264 |
| issue_id | ah-ydx.3 |
| event_type | label_added |
| actor | Eugene Blikh |
| old_value | NULL |
| new_value | NULL |
| comment | Added label: milestone:stage-3 |
| created_at | 2026-07-20T03:08:44Z |
| id | 019f7cdc-1b3a-74af-aa85-142bb4461bb3 |
| issue_id | ah-ydx.3 |
| event_type | label_removed |
| actor | Eugene Blikh |
| old_value | NULL |
| new_value | NULL |
| comment | Removed label: milestone:stage-3 |
| created_at | 2026-07-20T03:10:27Z |
No comments.
Close reason