Conversation
…ession-first list, --takeover, home-lint - create_task (single choke point: CLI, tool, swarm, dashboard) stamps session_id = explicit > first homed parent > 'unhomed' (never NULL) and prepends an 'origin: <platform> <chat> (<id>) · session <id> · <date>' line unless present. created_by falls back to HERMES_SESSION_PROFILE. - 'unhomed' loads as Task.session_id=None + unhomed=True: notification/wake consumers unchanged. Guard refuses chat sessions on unhomed cards. - --takeover REASON (alias of --foreign-ok) records a 'takeover' event + 'takeover:' audit comment. - kanban list: THIS SESSION / OTHER SESSIONS grouping when a caller session exists; --this-session (= --home), --all flat. - kanban home-lint: silent/exit 0 when green, ids + exit 1 otherwise; --backfill [--dry-run] stamps homeless open cards 'unhomed' + comment. - transfer scrub stamps 'unhomed' instead of NULL. Verified locally: test_kanban_home_session + home_lineage 88 passed, tools/test_kanban_tools 63 passed, test_kanban_transfer 20 passed.
…rst kanban_list tool - backfill_notify_sub_user_ids normalizes the 'unhomed' sentinel to None at the raw-SQL reader, so notify-repair never adopts the lone human in a user-less card's chat (r1 BEHAVIOUR finding; born-sessionless and backfilled-legacy arms were adopting user_id on 4905838). - kanban_list tool: with a caller session, this session's cards in full under tasks, others collapsed to {id,status,title[,unhomed]} under other_sessions; all=true (new schema bool) or no session = flat. - docs: raw-reader rule, tool grouping, re-scope surfaces (specify guarded; dashboard PATCH is actor-less like every dashboard mutation). Verified: new negative control over create_task/legacy NULL/backfilled with a real 5-tuple index + raw-id positive control (red on revert of the fix); tool grouping test (red on revert); Argus battery v1 3/4 with POSCTRL_raw_id red by design; 99 + 67 passed on the touched suites.
|
🤖 merged-by: apollo · lane: discord · gate: BYPASS: FR paused by Ace ruling 09-22; Ace directed landing without further Argus rounds 09-24 12:45; r2 PASS on record · why: t_4de62657 r2 PASS (Argus, before the 12:45 waiver) @ c317808: create_task stamps session_id at birth (explicit > first homed parent > unhomed), grouped kanban_list, notify-repair no longer fabricates a human creator on user-less cards, null-session lint + backfill. CI 39/0. Apollo ruling: keep as built. |
…carry home; task_events actor provenance; worker fan-out guard Rebased onto #998 (born-homed). ONE birth-home implementation: #998's _resolve_birth_session in create_task, extended with the worker-run lineage (HERMES_KANBAN_TASK) and the inherited origin line; the separate _apply_inherited_home hook is removed. Worker run with no homed lineage -> 'unhomed', never its per-run session id. Parent home wins over an explicit session_id (spec ':='). Session-first list view is #998's; this PR's item-2 list code and its tests are dropped, lineage test adapted to #998's grouped format. Kept: ping/wake home line, task_events actor_profile/actor_session_id, check_home_session worker fan-out exemption (up-walk only; created event only) + boundary tests (Argus r3 C3/C4).
… a worker run The worker_env fixture sets HERMES_KANBAN_TASK to an unhomed card; under item 1 a worker run with no homed lineage is born 'unhomed', never its per-run session id. The test asserts the CHAT-session stamp, so it now unsets HERMES_KANBAN_TASK. CI slice 12 failure on 77b235e.
|
🤖 merged-by: apollo · lane: claude-bridge-session · gate: BYPASS: FR PAUSED by Ace ruling 2026-09-22 · why: re-enqueue after merge-queue rebuild (CI_OVERFLOW_PLACEMENT_ENABLED=false: controller wrote no plans, local-pool fallback starved the queue); PR untouched |
|
🤖 merged-by: apollo · lane: kanban-merge-pass · gate: BYPASS: FleetReview paused by Ace 2026-09-22 (state/fleetreview-pause marker present) · why: t_f59538cf: kanban post-#951: worker-created cards inherit parent home; list default = home ; worker completed in place, CI green |
|
Closed by Apollo (t_4de62657): fully absorbed by #987 (merged ec50416), which was stacked on this branch and carried its commits — main has _resolve_birth_session, the notify-repair user_id fix, and session-grouped kanban_list. Ejected from the merge queue as CONFLICTING at 01:10Z after #1002; a rebase would only re-land what is already there. |
Pull request was closed
Kanban card t_4de62657. Builds on #951/#982 (guard + lineage).
unhomed, never NULL) + origin lineunhomedhidden from Task.session_id (notify/wake unchanged); guard refuses chat sessions on it--takeover REASON(alias of --foreign-ok) →takeoverevent + audit commentkanban listTHIS SESSION / OTHER SESSIONS;--this-session,--allkanban home-lint(silent when green;--backfill [--dry-run])unhomedLocal: home_session+lineage 88 passed, tools/test_kanban_tools 63, test_kanban_transfer 20. Full suite → CI.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.