Resolve a Member from the Task that was addressed #81

Merged
PerishFire merged 1 commit from land/concord-member-addressing into main 2026-08-16 10:00:43 +00:00
Owner

Resolve a Member from the Task that was addressed

Estate::member matches a Worktree on the stored Task identity, domain/name.
Two callers passed one -- member_status and the lookup that closes attach --
and five passed the request's raw task string instead, so narrow, prove,
claim, release and retire reported concord.member.absent for every Task
named without its Domain. The Member was there; nothing looked for it under the
key it is stored by, and the refusal pointed the reader at an attachment that
had never failed.

Every one of those functions already resolves the Task a line earlier, and
release.rs was already spelling task.identity() further down its own file,
so the two spellings sat side by side. They now agree.

The estate tests addressed every Task by full identity, which is why the
divergence survived: the working spelling was the only one exercised. named
addresses one Task by its own name through attach, prove, narrow and claim.
Reverted against this fix it fails on the first deed with member not found: work/repo, a key missing the Domain it is stored under.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

Resolve a Member from the Task that was addressed `Estate::member` matches a Worktree on the stored Task identity, `domain/name`. Two callers passed one -- `member_status` and the lookup that closes `attach` -- and five passed the request's raw task string instead, so `narrow`, `prove`, `claim`, `release` and `retire` reported `concord.member.absent` for every Task named without its Domain. The Member was there; nothing looked for it under the key it is stored by, and the refusal pointed the reader at an attachment that had never failed. Every one of those functions already resolves the Task a line earlier, and `release.rs` was already spelling `task.identity()` further down its own file, so the two spellings sat side by side. They now agree. The estate tests addressed every Task by full identity, which is why the divergence survived: the working spelling was the only one exercised. `named` addresses one Task by its own name through attach, prove, narrow and claim. Reverted against this fix it fails on the first deed with `member not found: work/repo`, a key missing the Domain it is stored under. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Resolve a Member from the Task that was addressed
Some checks failed
guard / guard (pull_request) Failing after 3m20s
guard / windows (pull_request) Successful in 4m18s
b558bbc0d2
Resolve a Member from the Task that was addressed

`Estate::member` matches a Worktree on the stored Task identity, `domain/name`.
Two callers passed one -- `member_status` and the lookup that closes `attach` --
and five passed the request's raw task string instead, so `narrow`, `prove`,
`claim`, `release` and `retire` reported `concord.member.absent` for every Task
named without its Domain. The Member was there; nothing looked for it under the
key it is stored by, and the refusal pointed the reader at an attachment that
had never failed.

Every one of those functions already resolves the Task a line earlier, and
`release.rs` was already spelling `task.identity()` further down its own file,
so the two spellings sat side by side. They now agree.

The estate tests addressed every Task by full identity, which is why the
divergence survived: the working spelling was the only one exercised. `named`
addresses one Task by its own name through attach, prove, narrow and claim.
Reverted against this fix it fails on the first deed with `member not found:
work/repo`, a key missing the Domain it is stored under.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Land-Source: concord-member-addressing@3ac413c76dafc03c790dc64af1b29d7422b4b8fe
PerishFire force-pushed land/concord-member-addressing from b558bbc0d2
Some checks failed
guard / guard (pull_request) Failing after 3m20s
guard / windows (pull_request) Successful in 4m18s
to ad3d6eeaf1
All checks were successful
guard / guard (pull_request) Successful in 2m22s
guard / windows (pull_request) Successful in 3m34s
guard / guard (push) Successful in 2m20s
guard / windows (push) Successful in 3m29s
2026-08-16 09:57:02 +00:00
Compare
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
PerishFire/concord!81
No description provided.