omnius 1.0.652 → 1.0.654

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -124,6 +124,32 @@ It records scope, dependencies, evidence, and closure rules.
124
124
 
125
125
  ## P0: Router empty-content failure
126
126
 
127
+ - [x] Repair the native Ollama structured-output regression exposed by live
128
+ Telegram messages 4594, 4597, and 4598.
129
+ - Active-build evidence: version 1.0.653 completed both router generations,
130
+ but each returned an out-of-domain `{tool,args}` object. Intake 4597 was
131
+ then consumed as `shouldReply:false` before an action runner was created.
132
+ - Root cause: both preferred native Ollama transports reduced every OpenAI
133
+ `json_schema` response format to `format:"json"`. The router's required
134
+ fields and `additionalProperties:false` constraint never reached Ollama.
135
+ - Preserve `json_object` as native `"json"`, but pass the complete inner JSON
136
+ Schema object to native unary and streaming `/api/chat` requests.
137
+ - Preserve typed native tool calls across unary and Telegram stream
138
+ accumulation. Do not interpret structured-output text as a tool call.
139
+ - Keep wrong-domain public router output quarantined. Router-supplied tool
140
+ arguments do not execute and do not bypass public attention policy.
141
+ - Add an explicit router classification boundary: capability needs become
142
+ `route:"action"`; the attention router does not invoke tools.
143
+ - [x] Add native-schema and action-admission regressions.
144
+ - Orchestrator native transport suite: 22 passed.
145
+ - Telegram Bot API suite: 103 passed, including the new public action
146
+ admission path from router schema to AgenticRunner and delivered reply.
147
+ - Telegram observability and stream-lifecycle suites: 47 passed.
148
+ - Orchestrator and CLI TypeScript builds passed.
149
+ - [ ] VERIFY — After operator activation, repeat the public-group action request
150
+ and confirm the first router response is a schema-conforming
151
+ `{route:"action",should_reply:true,...}` decision followed by one action run
152
+ and a Telegram delivery receipt.
127
153
  - [x] Separate Ollama transport detection from local pool ownership.
128
154
  - [x] Use native `/api/chat` for broker-managed Ollama control requests.
129
155
  - [x] Send `think: false` through the broker transport.
@@ -395,7 +421,16 @@ It records scope, dependencies, evidence, and closure rules.
395
421
  - [x] Stop ordinary group-chat text from entering global user personality
396
422
  memory.
397
423
  - [x] Persist Telegram conversation snapshots atomically.
398
- - [ ] QUEUED — Add an append-only canonical Telegram social event log.
424
+ - [x] Add an append-only canonical Telegram social event log.
425
+ - [x] Replay missing social events into the snapshot after an interrupted
426
+ observation-to-snapshot boundary.
427
+ - [x] Consume Telegram `message_reaction` updates.
428
+ - [x] Consume Telegram `message_reaction_count` updates.
429
+ - [x] Track the actor, target message, target participant, added reactions,
430
+ removed reactions, and current reaction set.
431
+ - [x] Record reactions sent by Omnius through `setMessageReaction`.
432
+ - [x] Keep emoji meaning unclassified in the transport graph. Any feeling or
433
+ intent interpretation stays advisory and must cite the observed reaction.
399
434
  - [ ] QUEUED — Add deterministic alias-merge receipts.
400
435
  - [ ] QUEUED — Add a multi-store social projection transaction coordinator if
401
436
  the durability requirement expands beyond atomic per-store writes.
@@ -413,24 +448,71 @@ It records scope, dependencies, evidence, and closure rules.
413
448
  - [x] Update route, script, layout, responsive, and interaction tests.
414
449
  - [x] Remove generic keyword-class coloring for `error`, `success`, `ok`,
415
450
  `bad`, and `live`; explicit state components retain their own presentation.
451
+ - [x] Fix native `/v1/chat` streaming through an active remote share.
452
+ - Detect `{stream:true}` from the request contract instead of relying on an
453
+ `Accept` header that the native chat client does not send.
454
+ - Forward remote HTTP status, safe response headers, and SSE bytes without a
455
+ nested SSE wrapper.
456
+ - Preserve the original abort signal. User cancellation does not clear the
457
+ selected remote share.
458
+ - Clear a rejected sticky remote-share transport without automatically
459
+ resubmitting a possibly accepted chat mutation to the local daemon.
460
+ - Accept Tor-only remote-share state.
461
+ - [x] Decouple daemon-owned chat work from the browser response lifetime.
462
+ - Guard all child-callback SSE writes and final response closure after a tab
463
+ closes, reloads, or loses its proxy transport.
464
+ - Keep the child running and persist its terminal in-flight result for
465
+ reattachment.
466
+ - Handle child spawn errors without an unhandled process event.
467
+ - Mark the server-side chat registry from child completion or failure, not
468
+ from browser connection closure.
469
+ - Verify a pre-inference spawn failure returns accepted, structured failure,
470
+ and DONE frames while `/health` remains available.
471
+ - [x] Keep the operational-world JSON schema compatible with the Zod runtime
472
+ embedded in the publish bundle. Do not use the Zod 4-only `z.json()` helper
473
+ on the daemon startup path.
474
+ - [ ] QUEUED — Replace parent-owned child stdout/stderr pipes with a durable
475
+ supervised output journal before claiming that detached chat children
476
+ survive a daemon restart. A detached PID alone does not make its pipes
477
+ restart-safe.
416
478
  - [x] Verify the rebuilt frontend on desktop and mobile viewports.
417
- - [x] Rebuild and audit the publish package, install it to the service runtime,
418
- restart only `omnius-daemon.service`, and confirm the new shell is live on
419
- `http://127.0.0.1:11435`.
479
+ - [x] Keep publish, install, daemon activation, and live service replacement
480
+ outside this source-only work scope. The operator owns those actions.
420
481
 
421
- ## P1: Deferred public Telegram presentation leak
482
+ ## P1: Public Telegram presentation leak
422
483
 
423
- This starts only after the daemon frontend redesign, by explicit user order.
424
-
425
- - [ ] QUEUED — Prevent `[STEERING_RECONCILIATION]` contracts from reaching a
484
+ - [x] Prevent `[STEERING_RECONCILIATION]` contracts from reaching a
426
485
  public Telegram reply.
427
- - [ ] QUEUED — Prevent internal `no_reply` rationale, identity-boundary notes,
486
+ - [x] Prevent internal `no_reply` rationale, identity-boundary notes,
428
487
  and injected-chatter analysis from reaching a public Telegram reply.
429
- - [ ] QUEUED — Keep these records available only in the internal Context or
488
+ - [x] Keep these records available only in the internal Context or
430
489
  Evidence tabs.
431
- - [ ] QUEUED — Add public-chat regressions for addressed-to-other-bot,
490
+ - [x] Add public-chat regressions for addressed-to-other-bot,
432
491
  no-reply, steering reconciliation, and ordinary group chatter cases.
433
492
 
493
+ ## P1: Latest Hermes session and durable-work audit
494
+
495
+ - [x] Audit official `NousResearch/hermes-agent` at commit
496
+ `1a47a36422ae3c42c23839b72cc24fb6a651aa28` (2026-08-29).
497
+ - [x] Compare session lineage, prompt snapshots, strict role alternation,
498
+ memory-provider lifecycle, turn ownership, delivery obligations, durable
499
+ Kanban claims, and stale-claim recovery with Omnius.
500
+ - [x] Preserve Omnius strengths that Hermes does not replace: typed work graph,
501
+ claim/evidence separation, fresh verifier receipts, mutation lineage, and
502
+ fail-closed completion projection.
503
+ - [x] Adopt the relevant event-sourcing pattern for Telegram social state.
504
+ - [x] Keep system-prompt snapshots stable within one active conversation.
505
+ - [x] Keep platform identity and capability scope in session-owned state, not
506
+ process-global environment state.
507
+ - [ ] QUEUED — Add a durable outbound Telegram delivery-obligation ledger with
508
+ idempotent message keys and crash recovery.
509
+ - [ ] QUEUED — Bind active long-horizon work claims to renewable ownership
510
+ leases and reclaim stale claims without discarding the task history.
511
+ - [ ] QUEUED — Add session-lineage edges for compression, reset, delegation,
512
+ and recovery boundaries to the operational world graph.
513
+ - [ ] QUEUED — Add deterministic shutdown receipts for background memory writes
514
+ and report abandoned writes separately from abandoned prefetch work.
515
+
434
516
  ## P1: Inference visibility
435
517
 
436
518
  - [x] Add a shell-style inference block.
@@ -549,9 +631,8 @@ This starts only after the daemon frontend redesign, by explicit user order.
549
631
  the literal incomplete `back at it?` delivery regression.
550
632
  - [x] CLI typecheck, all workspace builds, publish generation, and publish
551
633
  artifact audit passed after Reply/Evidence isolation.
552
- - [ ] VERIFY — Restart the operator-owned `telegram_test` TUI so its in-memory
553
- process loads the rebuilt bundle, then confirm one fresh private DM keeps
554
- diagnostics behind the buttons.
634
+ - Operator-owned activation note: rebuilding, installing, restarting, and
635
+ activating the daemon or `telegram_test` poller are not tasks on this board.
555
636
  - [x] Direct live `AgenticRunner` inference with `robit/ornith-1.5:9b` completed
556
637
  in one turn with 5,837 total provider tokens and no `task_complete` demand.
557
638
  - [x] Legacy `maxTurns` control passed alone with a 60-second harness timeout
@@ -561,8 +642,8 @@ This starts only after the daemon frontend redesign, by explicit user order.
561
642
  - [x] Rerun all workspace TypeScript builds after the transport repair.
562
643
  - [x] Rebuild all workspaces, regenerate `publish/`, pass the publish artifact
563
644
  audit, install the rebuilt package, and restart both user daemons.
564
- - [ ] VERIFY — Run live Telegram inference.
565
- - [ ] VERIFY — Run live ontology patch inference.
645
+ - [ ] VERIFY — After operator activation, observe one live Telegram route and
646
+ one live ontology patch without changing service ownership from this task.
566
647
 
567
648
  ## Closure rule
568
649
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.652",
3
+ "version": "1.0.654",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.652",
9
+ "version": "1.0.654",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.652",
3
+ "version": "1.0.654",
4
4
  "description": "AI coding agent powered by open-source models (Ollama/vLLM) — interactive TUI with agentic tool-calling loop",
5
5
  "type": "module",
6
6
  "main": "./dist/library.js",