Skip to content

[memory→tinymemory] tinymemory-tools: lifecycle turn hooks, live in-prompt window, date hint #6

Closed

Description

@senamakel

Moved from tinyhumansai#285, which is closed in favour of this issue. Part of tinyhumansai/openhuman#8000.

Blocked by #1.

For openhuman's memory/lifecycle/hooks.rs (558; tests 638), window.rs (114) and date_hint.rs (77).

  • lifecycle::turn::TurnHooks takes over the orchestration:

    • pre-turn timeout, spawn, and degrade-to-no-pack;
    • log-only when the identity has recall off;
    • choosing pre_turn / pre_turn_resumed / pre_turn_dated;
    • post-turn "log and return jobs";
    • compaction recall.

    It also takes TurnPack (render + refusal notice + tag constants), logged_reply (memory_eval/agent.rs:284 has its own copy) and user_turn_index.

  • PreTurn gains a resumed flag. It already has in_prompt_from, at and observed_actor. ToolCallSummary becomes ToolCallRef plus a result line.

  • lifecycle::window::InPromptFrom: the live in-prompt start index, with atomic fold fingerprints and a ceiling. It has no host dependencies.

  • lifecycle::date_hint: the instruction text, parse_range, and a DateHintModel callback trait.

  • Seams as traits, so no tokio in this crate: Spawner, Clock, engine resolution, the date-hint model, a jobs sink and a citation sink.

The bus trigger stays in the host (decided: ConversationTurnCommitted → memory::bus).

Done when: the new API is merged with its tests (moved host tests travel with the code), cargo test --workspace and cargo clippy --workspace --all-targets -- -D warnings pass, and a tag is cut so OpenHuman can bump the gitlink. tinymemory-tools stays tokio-free (spawn/clock are traits); schemars only behind an optional schema feature.

Agent brief

  • Files to consider: host memory/lifecycle/{hooks,window,date_hint}.rs; upstream tinymemory-tools/src/lifecycle/
  • Research: the gaps listed above
  • Workflow: an implementing-an-epic step; follow the migrate-to-submodule skill (upstream PR → tag → OpenHuman gitlink bump + delete host copy).
  • Subagent: tdd-implementer.

Parent: tinyhumansai/openhuman#8000

Activity

  1. added
    enhancementNew feature or request
    rustPull requests that update rust code
    priority: p3Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.
    on Oct 16, 2026
  2. senamakel commented on Oct 18, 2026

    @senamakel
    OwnerAuthor

    Implementation is ready in #24 at 4202974921eb731f4211341ec030e6ad9df66acb; required local workspace gates passed. Merge is blocked on a compatible CortexDB server artifact.

    On that head, 32 of 34 hosted checks succeeded. Both live jobs fail before tests because cortexdb/cortexdb:v0.10.4 is no longer available (manifest unknown).

    A separate experiment with the official cached v0.9.9 image passed 13/14 live tests, 1/1 Office live test and 5/5 lifecycle tests, but failed a_forget_anywhere_drops_every_pack_the_server_holds: a cached pack remained reusable (HTTP 200 instead of 404) after erasure. This image is therefore not a compatible replacement. No image pin or test expectation was changed, and the dedicated fixture was cleaned up.

    Keep this issue and PR open until a compatible image/reference or registry access is available and every hosted check passes on the final head. Independent host tinyhumansai#86 and native #11 work continues meanwhile.

  3. senamakel commented on Oct 18, 2026

    @senamakel
    OwnerAuthor

    Merged in #24 (7f26ad1). Annotated adoption tag epic-8000-6 points to this merged commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority: p3Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.rustPull requests that update rust code

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions