docs: P5 concurrency spec rewrite — one lock, one structural isolation, the invariant chain
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Rewritten to the restructured model: lifetime-hardening guards (PDEATHSIG/SIGTERM/SIGALRM + setsid/trap), per-run ABRA_DIR isolation (same-recipe runs now parallel), per-app-domain flock (double-!testme serialisation), flock-probe janitor decision table (incl. the inode-identity race rows), updated failure-mode table (cancel now tears down via the harness's own funnel; reboot reaps immediately; 60-min deadline bounds everything), single-knob config table, how to run tests/concurrency, fresh file/symbol index + deleted-symbol list for grep verification. Also drops the last stale concurrency.limit mention from the .drone.yml header comment.
This commit is contained in:
@ -35,8 +35,8 @@ steps:
|
||||
# the comment-bridge). Deploys the recipe at the PR head, runs install/upgrade/backup + any
|
||||
# recipe-local tests via the shared harness, then guarantees teardown (plan §4.2/§4.3).
|
||||
#
|
||||
# Resource safety (plan §4.2/§4.3): DRONE_RUNNER_CAPACITY=2 (nix/modules/drone-runner.nix) +
|
||||
# concurrency.limit=2 below allow two recipe runs in parallel. Concurrent-run safety is enforced by
|
||||
# Resource safety (plan §4.2/§4.3): DRONE_RUNNER_CAPACITY=2 (nix/modules/drone-runner.nix, the
|
||||
# single concurrency knob) allows two recipe runs in parallel. Concurrent-run safety is enforced by
|
||||
# the harness, not by serialisation: every run holds an exclusive flock on its app domain
|
||||
# (/run/lock/cc-ci-app-<domain>.lock) for its whole process lifetime, the run-start janitor probes
|
||||
# that lock to reap only orphans (held lock = live run, never touched), and recipe working trees
|
||||
|
||||
Reference in New Issue
Block a user