mind-stream: the Projector is her own connector caller on Haiku; a brake hold stops mind-stream@ too #47

Merged
eureka merged 5 commits from hands/eureka-body-stream-projector-kit into main 2026-11-11 14:13:52 +00:00
Owner

Cut stream-projector-kit (spec eureka-body:cut_spec:cut-stream-projector-kit.r1; rulings stream-projector-haiku-base-owned and the five others it cites).

  • KitProjector (stream.rs): one tool-less ModelConnector kit turn per tick as caller = her instance; request id mind-stream:<instance>:<label> (dry run adds :dry<unix ms>); refusal, early stop and provider failure end the tick.
  • OllamaStream -> OllamaContinuer (raw /api/generate only); StreamModel replaced by Projector and Continuer; the /api/chat path is deleted.
  • mind-stream binary: MIND_STREAM_CONNECTOR_ENDPOINT, MIND_STREAM_PROJECTOR_MODEL, key from the connector-key systemd credential.
  • mind-control hold stops mind-stream@ beside mind-self@ and mind-persona@ (one held_templates owner; the operator line is printed from stop_args).
  • dev-dependency: model-connector daemon feature at the same rev c1802d8 (Cargo.lock +1 line); tests run a real kit server.

Tests: lib 873 passed (non-root userns as uid 0). Not run: cargo-mutants (no docker on this host). Environmental failures unrelated to the diff: tests/control.rs x3 (need a second real uid), tests/persona_bin.rs x2 (need a live daemon).

Not merged, not deployed. Deploy is follow-up stream-enable-eureka.

🤖 Generated with Claude Code

Cut stream-projector-kit (spec eureka-body:cut_spec:cut-stream-projector-kit.r1; rulings stream-projector-haiku-base-owned and the five others it cites). - `KitProjector` (stream.rs): one tool-less ModelConnector kit turn per tick as caller = her instance; request id `mind-stream:<instance>:<label>` (dry run adds `:dry<unix ms>`); refusal, early stop and provider failure end the tick. - `OllamaStream` -> `OllamaContinuer` (raw `/api/generate` only); `StreamModel` replaced by `Projector` and `Continuer`; the `/api/chat` path is deleted. - `mind-stream` binary: `MIND_STREAM_CONNECTOR_ENDPOINT`, `MIND_STREAM_PROJECTOR_MODEL`, key from the `connector-key` systemd credential. - `mind-control` hold stops `mind-stream@` beside `mind-self@` and `mind-persona@` (one `held_templates` owner; the operator line is printed from `stop_args`). - dev-dependency: model-connector `daemon` feature at the same rev c1802d8 (Cargo.lock +1 line); tests run a real kit server. Tests: lib 873 passed (non-root userns as uid 0). Not run: cargo-mutants (no docker on this host). Environmental failures unrelated to the diff: tests/control.rs x3 (need a second real uid), tests/persona_bin.rs x2 (need a live daemon). Not merged, not deployed. Deploy is follow-up stream-enable-eureka. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
KitProjector sends one tool-less kit turn per tick as caller <instance>; OllamaStream's /api/chat Projector and StreamModel are deleted, replaced by the Projector and Continuer ports.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The hold's unit list is one owner (held_templates); the operator line is printed from stop_args.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
eureka merged commit f4951db649 into main 2026-11-11 14:13:52 +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!47
No description provided.