test(threads): a function is not its own caller, and a caller is not reachability #645
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!645
Loading…
Reference in a new issue
No description provided.
Delete branch "qa/callers-not-reachability"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Lands a hardening commit that never had a pull request. My first description of this was wrong and I am correcting it here rather than editing it away.
What I claimed, and why it was wrong
I wrote that PR #641 "merged
c11df60while the branch tip wase472df8", and called it a stale merge in the shape of #506. The timestamps say otherwise:The hardening was committed two minutes after the merge. The merge took the only commit that existed at the time and was entirely correct. The PR's
head.shareadse472df8today only because I pushed to that branch afterwards, which moved the recorded head of an already-merged pull request.So nothing was dropped. I pushed a follow-up to a branch whose PR had closed, and assumed it would be carried. That is my error, not the platform's, and the evidence was in
git logthe whole time.What this PR actually does
The same change, on current
main, with a pull request behind it.productionCallerscounted every non-test reference outside the declaration line, including a recursive call. A self-recursive function would have read as used by production with no production caller at all.What it deliberately does not fix
asGrantDenialhas a caller. That caller has none. The chain is dead at the root and a single-level count cannot see it.The comment says so and names that pair, because the rule I wrote on #618 — a delegate is live if something outside it calls it — passes here and is still wrong. A helper that looks authoritative and cannot see reachability is worse than one that admits it.
No behaviour change to the guard.
BindJobToThreaddoes not reference itself.Test-only.
Refs #618, #620