admission: an import replays a cite of another root's closed follow-up #17

Merged
eureka merged 3 commits from eureka/import-foreign-cite-as-of-source into main 2026-11-08 21:28:13 +00:00
Owner

Libby's huginn import thing2 --from eureka stopped at receipt 13/48 and Nibu's huginn import aetheria-release --from eureka at 944/1382, both Refused CitesResolvedDocument { kind: FollowUp }.

Cause. The refusing record is the same shape in both: a Deferred resolution of a finding to a follow-up of another root (cultlib-gaps:follow_up:decode-stack-safety, source ordinal 1815; aetheria-ew:follow_up:bearing-only-allegiance, ordinal 2247). The giver admitted it while the follow-up was open; the follow-up closed Fixed later (ordinals 2295 and later). The receiver had already imported that other root whole, so the follow-up is held and closed, and resolution_rule asks that every cited referent be in force now. The planner is not the judge (it only classes held versus unheld referents); the receiver's admission is.

Fix. In an import, resolution_rule does not ask a referent of another root than the subject's to be in force; A7 still requires it held or declared external. Same-root cites replay in the giver's order and keep the rule; native writes keep it.

Test. import_replays_a_cite_of_another_roots_follow_up_that_closed_since (move_tests.rs). Fails on the old rule; also fails when the waiver covers same-root cites and when it covers native writes. cargo test -p huginn-mind --lib: 274 passed.

Deploy. The change is in the receiver's daemon admission, so Libby's and Nibu's minds need the fixed daemon before the imports resume. Not merged, not deployed.

🤖 Generated with Claude Code

Libby's `huginn import thing2 --from eureka` stopped at receipt 13/48 and Nibu's `huginn import aetheria-release --from eureka` at 944/1382, both `Refused CitesResolvedDocument { kind: FollowUp }`. **Cause.** The refusing record is the same shape in both: a `Deferred` resolution of a finding to a follow-up of another root (`cultlib-gaps:follow_up:decode-stack-safety`, source ordinal 1815; `aetheria-ew:follow_up:bearing-only-allegiance`, ordinal 2247). The giver admitted it while the follow-up was open; the follow-up closed Fixed later (ordinals 2295 and later). The receiver had already imported that other root whole, so the follow-up is held and closed, and `resolution_rule` asks that every cited referent be in force *now*. The planner is not the judge (it only classes held versus unheld referents); the receiver's admission is. **Fix.** In an import, `resolution_rule` does not ask a referent of another root than the subject's to be in force; A7 still requires it held or declared external. Same-root cites replay in the giver's order and keep the rule; native writes keep it. **Test.** `import_replays_a_cite_of_another_roots_follow_up_that_closed_since` (move_tests.rs). Fails on the old rule; also fails when the waiver covers same-root cites and when it covers native writes. `cargo test -p huginn-mind --lib`: 274 passed. **Deploy.** The change is in the receiver's daemon admission, so Libby's and Nibu's minds need the fixed daemon before the imports resume. Not merged, not deployed. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
A resolution's cited referent had to be in force in the receiver. When the
receiver had already imported the other root (cultlib-gaps, aetheria-ew) and
that referent closed later in the giver, the replay of the earlier Deferred
cite was refused with CitesResolvedDocument and the import stopped. The cite
was in force when the giver made it; an import now asks only that the
foreign referent is held (A7), not that it is still open. Same-root cites
replay in the giver's order and keep the rule; native writes keep it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The replay of a cite of another root's closed document is pinned with a
Finding deferred to a closed follow-up (the thing2 and aetheria-release
cases) and an Idea superseded by a recorded Idea of another root, which
kills a waiver limited to follow-ups.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The code of this branch is dropped for main's `historic` waiver; what remains
is the committed Finding case (thing2 1815, aetheria-release 2247) and the
kind-agnostic case, which kills a waiver limited to follow-ups.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
eureka merged commit 32fa1f4f3c into main 2026-11-08 21:28:13 +00:00
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
GameCult/Huginn!17
No description provided.