Commit graph

863 commits

Author SHA1 Message Date
c204e8ff12 Merge pull request 'Self run: deliver a result whole, never clipped' (#25) from eureka/self-run-full-result into main 2026-11-10 14:23:59 +00:00
59aca09c62 Self run: a refused reply holds back the replies behind it, so a long result reaches the mind in order
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 14:21:04 +00:00
8073a7c3bc Self run test: the whitespace tail of a long result is never offered to the mind
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 14:08:14 +00:00
6c5f83e607 Self run: a whitespace-only piece of a long result is no reply; every piece answers the briefs (tested)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 14:07:35 +00:00
6734cafafa Self run: deliver a result whole, never clipped
The journal line carries the full result; a result longer than a reply's
bound is emitted as consecutive replies (-r{n}), cut at character
boundaries, with the same answers. RESULT_TEXT_LIMIT and the
[truncated] marker are deleted.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 00:43:36 +00:00
05f593476e Merge pull request 'AlreadyResolved names the closure in force' (#22) from eureka/refusal-names-the-closure into main 2026-11-09 12:10:30 +00:00
f4e419ef45 AlreadyResolved: the correction test takes closed_by from the refusal
Mutating the resolution path's closed_by to the subject fails the test.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 12:08:34 +00:00
563b6f3bf4 Merge pull request 'Import: resolution of a window follow-up or idea is inert' (#23) from eureka/import-inert-resolutions into main 2026-11-09 12:05:24 +00:00
3b35fb8bae Import: order the use list, pin the later-batch collision, state it in the window_writes doc
A follow-up the receiver wrote natively, closed, and a later batch replays is inert to the
daemon now and refused as an identity collision when the batch arrives.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 12:05:24 +00:00
3269df77c2 Merge pull request 'mind-body: open work listed oldest first by origin, lines capped, hidden work named by campaign' (#24) from hands/eureka-body-follow-ups-oldest-first into main 2026-11-09 11:53:41 +00:00
0c4e700b9e Import: the resolution of a follow-up or idea the receiver wrote is inert in the window
inert_in_window covered FollowUp and Idea only, so a receiver's own resolution
of such a record, admitted after the import began, refused the rerun in both
the tool (resume/window_writes) and the daemon (root_holds_native_write).
A Resolution whose subject is a follow-up or idea the plan does not replay
touches nothing planned and now stays beside the replay. One predicate, both
callers; the resolution of a replayed follow-up, or of any other kind, still
refuses.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 11:48:19 +00:00
Meta Vens
72aa58050e tests: pin the exact-fit follow-up line and the six-campaign note edge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 12:43:10 +01:00
69ba61f054 AlreadyResolved names the closure in force, so a wrong closure can be corrected
A closed row is corrected by withdrawing its resolution and resolving the
subject again at the next sequence; admission already allows it, in one batch
too (new test). The refusal gave no way to find it: a Mind that tried to
Withdraw or re-resolve the follow-up itself got AlreadyResolved with only the
subject. It now carries closed_by, the resolution key to withdraw.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 11:41:21 +00:00
Meta Vens
e31c87cfb9 tests: the bound test's open count follows the clip; the import test checks follow-ups
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 12:07:07 +01:00
Meta Vens
c50bc9a511 tests: counts follow the clip; the import test names its labels
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 12:04:55 +01:00
Meta Vens
7c919a2146 open lists: origin order for follow-ups only (an import never carries a memory); tests follow the clip
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 12:02:59 +01:00
Meta Vens
e52e34397d testkit: one committed_imported
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 11:59:06 +01:00
Meta Vens
94f235e7ce open lists: order by origin time (an import is as old as it was in the giver), clip each line's item text, name the dropped follow-ups' campaigns
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 11:57:48 +01:00
Meta Vens
31b924704c persona tests: the ask ids carry the instance prefix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 11:30:17 +01:00
Meta Vens
a9dd115c67 persona: open commitments and asks list oldest first too; headings say so, the count says how many more are not shown
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 11:28:35 +01:00
Meta Vens
970578e167 persona: the follow-ups selection is the default ascending one; no redundant descending flag
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 11:19:36 +01:00
Meta Vens
cab7fb3421 persona: open follow-ups list oldest first, by admission; the bound drops the newest and says so
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 11:08:20 +01:00
f47210fe0d Merge pull request 'mind-body: a brief is done when its change lands, told once as one closing rule' (#21) from hands/eureka-body-brief-done-means-landed into main 2026-11-09 09:34:42 +00:00
Meta Vens
122a968f30 closing rule: acts without a commit close Recorded, Fixed names the merge or squash commit, the reminder bounds Recorded; each flush names its own reason
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 10:27:54 +01:00
Meta Vens
e47eec7e85 brief-done-means-landed: one closing rule for the Self run, told once at start; briefs and flush point to it
A brief that asks for a change closes Fixed by a default-branch commit, not Recorded on an open PR; work waiting on someone else is superseded by her own follow-up. Replaces the three 'Recorded with your answer' sentences.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 10:04:02 +01:00
9f27c05ac4 Merge pull request 'huginn import: a follow-up or idea the receiver wrote after the import began no longer blocks the resume' (#20) from eureka/import-resume-tolerates-window-writes into main 2026-11-08 21:58:56 +00:00
d0edfdb403 import: publish the amended ImportOutsideCampaign text; pin the outcome-citation path
Soul: the schema carries the refusal's doc comment, so the published response
schema follows it; an imported Superseded{by} naming the receiver's native
follow-up is refused, which a source-only mutant now fails.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 21:55:35 +00:00
9958555d71 import: an imported record never cites or resolves the receiver's own native document
Soul F1: the window left open by `inert_in_window` let a later imported record
withdraw or cite the receiver's native follow-up. Admission now refuses an
imported document that cites or resolves a native document of its own root
(another root's native documents are cited as ever). Stale docs and the import
help name the amended rule.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 21:43:00 +00:00
241a4d5584 Merge origin/main 2026-11-08 21:28:25 +00:00
0f417143f7 import: a follow-up or idea the receiver wrote after the import began no longer blocks the resume
Nibu's stopped import of aetheria-release was refused twice over for her own
run's follow-up chat-s4606-4606: by the verb's resume (a record under the root
not imported from the source) and, had that passed, by admission
(ImportOutsideCampaign, a native write under the root). Both now leave a native
FollowUp or Idea alone when it was admitted after the root's first imported
document, share one predicate (`inert_in_window`), and the verb names what it
left in place and leaves it out of the final verification walk. Every other
native kind (a question, a resolution, a ruling, a target) can answer or
resolve a replayed document and still refuses; a collision on a planned key
still refuses. No evict verb: a receipt cannot be unwritten.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 21:28:25 +00:00
32fa1f4f3c Merge pull request 'admission: an import replays a cite of another root's closed follow-up' (#17) from eureka/import-foreign-cite-as-of-source into main 2026-11-08 21:28:13 +00:00
209712e2c9 Merge origin/main into the import-foreign-cite PR: #19 landed the same waiver
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>
2026-11-08 21:20:51 +00:00
6e6fd7511c Merge pull request 'huginn-mind: an import is not refused for citing another campaign's document resolved after its source ordinal' (#19) from hands/eureka-body-import-history-order into main 2026-11-08 21:06:20 +00:00
Meta Vens
e77e0f361b admission: a report's spec is always its own campaign's, so its status check is never skipped
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 21:57:38 +01:00
Meta Vens
8cc62f192e move_tests: a spec's successor lands with its supersession
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 21:56:22 +01:00
Meta Vens
f4f857a7da admission: skip the status check only for a citation into another campaign; drop the unreachable run-claims skip; a test for each live site
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 21:54:59 +01:00
Meta Vens
6beb52e809 move_tests: B's two receipts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 21:16:43 +01:00
Meta Vens
3b64a1aaa3 admission: an import is not refused for citing a document resolved after its source ordinal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 21:15:16 +01:00
971d96212f move tests: pin the real Finding case and the kind-agnostic waiver
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>
2026-11-08 20:02:05 +00:00
7552774a72 Merge pull request 'mind-body: every Persona line asks for her own work, plans first' (#18) from hands/eureka-body-every-turn-asks-her-work into main 2026-11-08 19:57:10 +00:00
Meta Vens
48e81bdf80 persona: the work tail names her plans as well as her open follow-ups
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 20:55:13 +01:00
Meta Vens
d386da81bc persona: the work question names her plans and memories, says open pages, and drops the messages clause from no-message lines
WORK_QUESTION also sends her to huginn query over her own plans, frames what she
finds as candidates she weighs, names --cursor, and says every follow-up in her
campaigns is hers whoever filed it. The messages clause is ANSWER_MESSAGES, set
before the question on first lines that carry messages only. Stale prose about
bare later lines is corrected in the body map, MESSAGES_HEADER's comment and one
test name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 20:46:11 +01:00
7218c4a9d7 admission: an import replays a cite of another root's closed follow-up
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>
2026-11-08 19:32:01 +00:00
Meta Vens
e72f69f558 body map: first line ends on WORK_QUESTION, later lines on WORK_TAIL
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 20:29:50 +01:00
Meta Vens
e1636761f9 persona: every line asks what she is building; chat is answered as part of that work
WORK_QUESTION ends every first line, with messages or without, and sends her to
her own mind (huginn campaigns, open, unreported) and to start_self_run. WAKE_ASK
is now only the once-a-day new-thing opener before it. WORK_TAIL ends every later
line (plain, refused, stale, notices, Self replies). WAKE_QUESTION and
TRAFFIC_QUESTION are deleted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 20:29:50 +01:00
7c586e39b5 Merge pull request 'huginn import: a steward pulls a moved campaign into her own mind' (#16) from hands/eureka-body-campaign-import-verb into main 2026-11-08 18:57:55 +00:00
660e1491b1 Merge pull request 'huginn-mind: a campaign moves out of a mind (Moved freeze, import provenance)' (#15) from hands/eureka-body-campaign-move-mind-side into main 2026-11-08 18:31:21 +00:00
Meta Vens
8e2eb46522 mind-body: the moved-brief test carries the campaign it imports under
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 19:23:45 +01:00
Meta Vens
73e3c05af6 mind-body: the moved-brief test imports into a root with no native write
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 19:22:56 +01:00
Meta Vens
7e2f893439 huginn import tests: the history has four receipts under the root; the brief test uses the testkit's own instance
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 19:18:36 +01:00