From ffcf4413642a02a5ba7d8ccc5559cf99c036e466 Mon Sep 17 00:00:00 2001 From: autonomic-bot Date: Wed, 10 Jun 2026 04:21:17 +0000 Subject: [PATCH] journal(conc): P1-P4 evidence (live smokes on cc-ci) + pre-existing abra app ls FATA observation --- JOURNAL-conc.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/JOURNAL-conc.md b/JOURNAL-conc.md index 8b454ff..533dabd 100644 --- a/JOURNAL-conc.md +++ b/JOURNAL-conc.md @@ -22,3 +22,28 @@ Read concurrency-restructure-full-plan.md (SSOT) + plan.md §6.1/§7/§9. Orient Working setup: state files on main in this clone; code on branch `restructure/concurrency` via a git worktree at ../cc-ci-conc; test runs on the cc-ci host via /root/builder-clone (`cc-ci-run -m pytest ...`, `nix develop .#lint`). + +## 2026-06-10 — P1–P4 landed on restructure/concurrency + +- P1 b492f99: harness/lifetime.py (PDEATHSIG+ppid recheck, SIGTERM/SIGALRM→SystemExit funnel + with re-entrancy guard, alarm(3600)); main() installs first; both finally blocks mark + begin_teardown(); .drone.yml setsid+trap wrap. Live smoke on cc-ci (cc-ci-run /tmp/p1-smoke.py): + TERM→rc=143+finally; ALRM→rc=142+finally+deadline log; parent-kill→child TERM'd, teardown ran. +- P2 b302f3a: acquire_app_lock + _probe_and_reap + janitor rewrite; registry deleted. Live smoke + (/tmp/p2-smoke*.py): held lock → "live concurrent run, leaving it", reaped=[]; killed holder → + reap exactly once + lockfile unlinked; waiter blocked during probe-held reap, then re-acquired + on the FRESH inode (probe confirmed held by waiter). Note: a select()-on-fd readline artifact + in my smoke script initially looked like a failure — kernel state was verified directly. + Unlink/recreate race guarded on BOTH sides via fstat/stat st_ino identity checks. +- P3 17ebdf3: per-run ABRA_DIR. Verified abra CLI honors $ABRA_DIR on-host (skeleton probe: + FATAs only on empty servers/; with servers+catalogue symlinks + recipes/ it works and even + auto-clones recipes for `app ls` resolution into the per-run dir). p3-smoke: setup + fetch of + custom-html-tiny landed in /tmp/p3runs/9999/abra/recipes, head commit + versions readable via + abra.recipe_dir(). install_steps.sh path fix justified in DECISIONS.md (conc P3 entry). + Pre-existing observation (NOT mine, unchanged): `abra app ls -S -m -n` currently FATAs + "unable to resolve '0cc57a5a'" under the DEFAULT abra dir too → janitor's abra discovery + yields [] and the docker-service sweep carries discovery. Out of this phase's scope. +- P4 91d3cc7: concurrency.limit removed; maxTests comment states single-knob + new model. + One stale comment line (.drone.yml l.39 "concurrency.limit=2 below") folds into P5. + +All four commits: tests/unit 138 passed + lint PASS before each. Next: tests/concurrency suite.