Repository navigation
heartbeat .lane-owner : rafraichir le marqueur pendant la vie de l'agent (spawn-side, suite #18494) #19010
Description
Activity
[CLAIMED] lane myia-po-2026:CoursIA -- 2026-10-05T01:12Z -- organe de battement
.lane-owner(mtime seul, JAMAIS de creation de marqueur) + tests sur le predicatrecent_activity_age_hoursdu pruner ; acceptance : agent vivant en lecture seule > fenetre non retirable, fenetre reprise a sa mort. -- paths: scripts/ci/lane_owner_heartbeat.py, scripts/tests/test_lane_owner_heartbeat.py[DELIVERED] lane myia-po-2026:CoursIA -- 2026-10-05T01:30Z -- PR #19192 (
See, pasCloses: le cablage spawn-side est hors depot).Mecanisme livre et teste :
scripts/ci/lane_owner_heartbeat.py(battement du mtime de.lane-owner, contenu byte-identique, jamais de creation de marqueur, jamais de recul, tire par l'agent). 12/12 tests dont l'acceptance mesuree surrecent_activity_age_hoursdu pruner ; falsification = 5 rouges dont l'acceptance.Observation a arbitrer : sur myia-po-2026, 0 des 80 worktrees ne porte de
.lane-owneret rien dans le depot ne l'ecrit (writer = spawn, hors depot) — la garde #18494 ne s'appuie ici que sur le mtime du dossier. La convention #3895 est-elle deployee sur cette machine ?- added a commit that references this issue
on Oct 5, 2026 - addedcandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
on Oct 5, 2026 [CLOSURE PREFLIGHT]
schema: 1
lane: myia-po-2024:CoursIA
issue: 19010
verdict: CLOSE
acceptance:- Un agent vivant en lecture seule depuis > fenetre n'est plus retirable tant qu'il vit -> VERIFIE firsthand : organe scripts/ci/lane_owner_heartbeat.py sur main (livre par feat(ci,#19010): battement du marqueur .lane-owner pendant la vie de l'agent #19194, MERGED 2026-10-05T03:18:12Z) fait battre le mtime du marqueur .lane-owner sans toucher au contenu ; le test test_agent_vivant_au_dela_de_la_fenetre_reste_protege mesure l'acceptance sur le predicat reel du pruner (marqueur a 10 h => retirable ; un battement => de nouveau sous la fenetre)
- A sa mort, la fenetre reprend son cours normal (protection auto-expirante inchangee) -> meme suite : sans battement, la fenetre reprend — temoin mesure dans les tests (protection auto-expirante intacte, ni le pruner ni la fenetre ne bougent : 0 fichier du pruner touche par la PR)
- Suite verifiee -> re-execution locale ce 07/10 sur main : python -m pytest scripts/tests/test_lane_owner_heartbeat.py : 12 passed ; la PR documente en outre la falsification (battement neutralise => 5 rouges)
residue: none
open-prs: 0
comments-reviewed: 3
[/CLOSURE PREFLIGHT]
Cloture par le coordinateur, sur le dossier [CLOSURE PREFLIGHT] de myia-po-2024:CoursIA (07/10, verdict CLOSE, cases d'acceptance citees). Verification ai-01 sur origin/main a 21:15Z :
scripts/ci/lane_owner_heartbeat.pyest present sur main (livre par #19194), avec son test sur le predicat reel du pruner.
{"title": "heartbeat .lane-owner : rafraichir le marqueur pendant la vie de l'agent (spawn-side, suite #18494)", "body": "Suite de #18494 (review NanoClaw sur PR #19001, reserve 1, portee ici par ce qu'elle est un changement de convention spawn-side).\n\nCe qui est livree : la fenetre d'activite (6 h par defaut,
--activity-window-h) protege un worktree d'agent vivant dont la seule trace fraiche est la creation du dossier ou du marqueur.lane-owner(#3895). Le scenario mesure de l'issue -- agent « lance quelques minutes plus tot » -- est couvert avec marge.\n\nCe qui reste ouvert : les marqueurs ne se rafraichissent PAS pendant la vie de l'agent. Un agent en lecture seule longue (corrective-auditor > 6 h sur un worktree propre, sans commit ni ecriture dans le dossier) perd sa protection exactement comme un worktree abandonne : mtime du dossier et du marqueur vieillissent au-dela de la fenetre, le predicatrecent_activityne s'applique plus, le retrait redevient possible.\n\nPiste (a arbitrer cote spawn-side, convention #3895) : rafraichissement periodique du.lane-ownerpar l'agent vivant -- untouchcadence par le harnais de spawn (ou toute ecriture equivalente datant l'activite), qui maintient le marqueur frais pendant toute la duree de vie de la session sans toucher au contenu.\n\nAcceptance : un agent vivant en lecture seule depuis > fenetre n'est plus retirable tant qu'il vit ; a sa mort, la fenetre reprend son cours normal (protection auto-expirante inchangee)."}