omnius 1.0.692 → 1.0.694
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.
- package/dist/index.js +565 -302
- package/docs/DISCOVERY.json +81 -1
- package/docs/DISCOVERY.md +3 -1
- package/docs/work-orders/runtime-health-remediation/TRACKER.md +35 -1
- package/docs/work-orders/runtime-health-remediation/WO-23-long-horizon-control-plane-reconciliation.md +154 -0
- package/docs/work-orders/runtime-health-remediation/WO-24-telegram-logical-request-variant-identity.md +65 -0
- package/npm-shrinkwrap.json +54 -21
- package/package.json +1 -1
package/docs/DISCOVERY.json
CHANGED
|
@@ -32842,7 +32842,7 @@
|
|
|
32842
32842
|
"id": "guide.work-orders-runtime-health-remediation-tracker-uppercase",
|
|
32843
32843
|
"kind": "guide",
|
|
32844
32844
|
"title": "Runtime Health Remediation Master Tracker",
|
|
32845
|
-
"summary": "Authority: canonical granular tracker for RHR-2026-09-02 Checked-item rule: code, focused tests, and named evidence must all exist Last reconciled: 2026-09-
|
|
32845
|
+
"summary": "Authority: canonical granular tracker for RHR-2026-09-02 Checked-item rule: code, focused tests, and named evidence must all exist Last reconciled: 2026-09-04",
|
|
32846
32846
|
"keywords": [
|
|
32847
32847
|
"work",
|
|
32848
32848
|
"orders",
|
|
@@ -33902,6 +33902,86 @@
|
|
|
33902
33902
|
}
|
|
33903
33903
|
]
|
|
33904
33904
|
},
|
|
33905
|
+
{
|
|
33906
|
+
"id": "guide.work-orders-runtime-health-remediation-wo-23-long-horizon-control-plane-reconciliation-uppercase",
|
|
33907
|
+
"kind": "guide",
|
|
33908
|
+
"title": "WO-23: Long-horizon control-plane reconciliation",
|
|
33909
|
+
"summary": "The restored telegramtest run tui-3869250-mtlvp324-1788468819792-1 continued a large pentest-tooling frontend task across a process restart. It made real source mutations and advanced from the first implementation group to todo-p2a. The run was not dead and its model context had ample nominal capacity.",
|
|
33910
|
+
"keywords": [
|
|
33911
|
+
"work",
|
|
33912
|
+
"orders",
|
|
33913
|
+
"runtime",
|
|
33914
|
+
"health",
|
|
33915
|
+
"remediation",
|
|
33916
|
+
"WO",
|
|
33917
|
+
"23",
|
|
33918
|
+
"long",
|
|
33919
|
+
"horizon",
|
|
33920
|
+
"control",
|
|
33921
|
+
"plane",
|
|
33922
|
+
"reconciliation",
|
|
33923
|
+
"md"
|
|
33924
|
+
],
|
|
33925
|
+
"maturity": "internal",
|
|
33926
|
+
"audiences": [
|
|
33927
|
+
"maintainer",
|
|
33928
|
+
"large-context-agent"
|
|
33929
|
+
],
|
|
33930
|
+
"layer": "documentation",
|
|
33931
|
+
"interfaces": [
|
|
33932
|
+
{
|
|
33933
|
+
"type": "file",
|
|
33934
|
+
"target": "docs/work-orders/runtime-health-remediation/WO-23-long-horizon-control-plane-reconciliation.md"
|
|
33935
|
+
}
|
|
33936
|
+
],
|
|
33937
|
+
"references": [
|
|
33938
|
+
{
|
|
33939
|
+
"type": "documentation",
|
|
33940
|
+
"target": "docs/work-orders/runtime-health-remediation/WO-23-long-horizon-control-plane-reconciliation.md",
|
|
33941
|
+
"relation": "canonical-artifact"
|
|
33942
|
+
}
|
|
33943
|
+
]
|
|
33944
|
+
},
|
|
33945
|
+
{
|
|
33946
|
+
"id": "guide.work-orders-runtime-health-remediation-wo-24-telegram-logical-request-variant-identity-uppercase",
|
|
33947
|
+
"kind": "guide",
|
|
33948
|
+
"title": "WO-24: Telegram logical request variant identity",
|
|
33949
|
+
"summary": "Telegram follow-up requests could finish a streamed inference with no visible contract and then fail their one unary compatibility request with HTTP 409: logicalrequestconflict. The observed stream used all 300 completion tokens and ended with finish=length.",
|
|
33950
|
+
"keywords": [
|
|
33951
|
+
"work",
|
|
33952
|
+
"orders",
|
|
33953
|
+
"runtime",
|
|
33954
|
+
"health",
|
|
33955
|
+
"remediation",
|
|
33956
|
+
"WO",
|
|
33957
|
+
"24",
|
|
33958
|
+
"telegram",
|
|
33959
|
+
"logical",
|
|
33960
|
+
"request",
|
|
33961
|
+
"variant",
|
|
33962
|
+
"identity",
|
|
33963
|
+
"md"
|
|
33964
|
+
],
|
|
33965
|
+
"maturity": "internal",
|
|
33966
|
+
"audiences": [
|
|
33967
|
+
"maintainer",
|
|
33968
|
+
"large-context-agent"
|
|
33969
|
+
],
|
|
33970
|
+
"layer": "documentation",
|
|
33971
|
+
"interfaces": [
|
|
33972
|
+
{
|
|
33973
|
+
"type": "file",
|
|
33974
|
+
"target": "docs/work-orders/runtime-health-remediation/WO-24-telegram-logical-request-variant-identity.md"
|
|
33975
|
+
}
|
|
33976
|
+
],
|
|
33977
|
+
"references": [
|
|
33978
|
+
{
|
|
33979
|
+
"type": "documentation",
|
|
33980
|
+
"target": "docs/work-orders/runtime-health-remediation/WO-24-telegram-logical-request-variant-identity.md",
|
|
33981
|
+
"relation": "canonical-artifact"
|
|
33982
|
+
}
|
|
33983
|
+
]
|
|
33984
|
+
},
|
|
33905
33985
|
{
|
|
33906
33986
|
"id": "guide.work-orders-telegram-dmn-wo-22-dmn-outreach-and-learning-uppercase",
|
|
33907
33987
|
"kind": "guide",
|
package/docs/DISCOVERY.md
CHANGED
|
@@ -533,7 +533,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
533
533
|
| `guide.work-orders-runtime-health-remediation-live-telegram-log-review-2026-09-03-uppercase` | Live Telegram Log Review, 2026-09-03 | This review is read-only. It examines the persisted Telegram conversation and intake lifecycle records in /home/roko/Documents/Projects/Adjacent/telegramtest/.omnius. The running global Omnius package reports version 1.0.687. This means the observations describe the deployed pre-publication runtime, not the newer source commits on this repository's main bran |
|
|
534
534
|
| `guide.work-orders-runtime-health-remediation-readme-uppercase` | Runtime Health Remediation Program | Program ID: RHR-2026-09-02 Status: active, implementation authorized Owner: Omnius runtime, orchestration, execution, memory, and Telegram packages External dependency: /home/roko/Desktop/ollama-unify Last reconciled: 2026-09-03 |
|
|
535
535
|
| `guide.work-orders-runtime-health-remediation-traceability-uppercase` | Runtime Health Remediation Traceability Matrix | Every completed row links to a deterministic test or operational receipt. A commit hash alone is not proof. A model statement is not proof. Live logs may support a canary only after the hermetic and deterministic gates pass. A status that names pending rollout or live work is intentionally not a completion claim. |
|
|
536
|
-
| `guide.work-orders-runtime-health-remediation-tracker-uppercase` | Runtime Health Remediation Master Tracker | Authority: canonical granular tracker for RHR-2026-09-02 Checked-item rule: code, focused tests, and named evidence must all exist Last reconciled: 2026-09-
|
|
536
|
+
| `guide.work-orders-runtime-health-remediation-tracker-uppercase` | Runtime Health Remediation Master Tracker | Authority: canonical granular tracker for RHR-2026-09-02 Checked-item rule: code, focused tests, and named evidence must all exist Last reconciled: 2026-09-04 |
|
|
537
537
|
| `guide.work-orders-runtime-health-remediation-wo-00-hermetic-test-boundary-uppercase` | WO-00: Hermetic Test Boundary | Status: deterministic acceptance complete Evidence: inference network inventory and audit receipt for commit 8708e449 Risk: high, because current unit tests can contact the live broker Depends on: none |
|
|
538
538
|
| `guide.work-orders-runtime-health-remediation-wo-00-inference-network-inventory-uppercase` | WO-00 Inference Network Inventory | This document describes the machine-checked boundary for production inference clients. The canonical inventory is test-support/inference-network-registry.ts. |
|
|
539
539
|
| `guide.work-orders-runtime-health-remediation-wo-01-inference-pressure-scheduler-uppercase` | WO-01: Foreground and Background Inference Pressure Scheduler | Status: deterministic acceptance complete Evidence: production Telegram cognition integration and controlled-load foreground exclusion Risk: critical, because background work currently competes with user work Depends on: WO-00 |
|
|
@@ -561,6 +561,8 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
561
561
|
| `guide.work-orders-runtime-health-remediation-wo-20-exact-session-continuation-uppercase` | WO-20: Exact session continuation across exit and restart | On 2026-09-03, the telegramtest TUI displayed the latest pentest task during startup, but the first restored model context combined a completed breach.py handoff with an unrelated, older page.tsx todo tree. The user then entered continue, and Omnius continued the stale tree instead of the task that was active before /quit. |
|
|
562
562
|
| `guide.work-orders-runtime-health-remediation-wo-21-task-convergence-and-todo-scope-uppercase` | WO-21: Task convergence and todo scope | On 2026-09-03, a user reported that Omnius remained at task 2/8 for about 40 turns. The report did not include a screenshot or run artifact, so the exact label remains unverified. Omnius has two similar counters: |
|
|
563
563
|
| `guide.work-orders-runtime-health-remediation-wo-22-autocomplete-footer-geometry-uppercase` | WO-22: Autocomplete Footer Geometry Integrity | Scope: CLI TUI footer, DirectInput redraw scheduling, active content writes |
|
|
564
|
+
| `guide.work-orders-runtime-health-remediation-wo-23-long-horizon-control-plane-reconciliation-uppercase` | WO-23: Long-horizon control-plane reconciliation | The restored telegramtest run tui-3869250-mtlvp324-1788468819792-1 continued a large pentest-tooling frontend task across a process restart. It made real source mutations and advanced from the first implementation group to todo-p2a. The run was not dead and its model context had ample nominal capacity. |
|
|
565
|
+
| `guide.work-orders-runtime-health-remediation-wo-24-telegram-logical-request-variant-identity-uppercase` | WO-24: Telegram logical request variant identity | Telegram follow-up requests could finish a streamed inference with no visible contract and then fail their one unary compatibility request with HTTP 409: logicalrequestconflict. The observed stream used all 300 completion tokens and ended with finish=length. |
|
|
564
566
|
| `guide.work-orders-telegram-dmn-wo-22-dmn-outreach-and-learning-uppercase` | WO-22: DMN outreach, DM sharing, and outcome learning | On 2026-09-03 at 17:07 PDT the bot posted in the OMNIUS group without being addressed. The operator asked whether this was self-induced reflection. |
|
|
565
567
|
| `guide.work-orders-telegram-dropbear-context-rca-workorder` | Telegram Dropbear Context Engineering RCA Work Order | Observed run: /home/roko/Documents/Projects/Adjacent/telegramtest/.omnius, run id 1782873796963-i5r7mv. |
|
|
566
568
|
| `guide.work-orders-wo-am-gaps-uppercase` | Associative Memory Gap Work Orders | Generated: 2026-04-13 Source: Deep audit of multimodal associative memory systems Status: READY FOR IMPLEMENTATION |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Authority:** canonical granular tracker for RHR-2026-09-02
|
|
4
4
|
**Checked-item rule:** code, focused tests, and named evidence must all exist
|
|
5
|
-
**Last reconciled:** 2026-09-
|
|
5
|
+
**Last reconciled:** 2026-09-04
|
|
6
6
|
|
|
7
7
|
## Phase 0: durable program boundary
|
|
8
8
|
|
|
@@ -254,6 +254,40 @@ deterministically repaired P0 or P1 defect.
|
|
|
254
254
|
publish-tree changes.
|
|
255
255
|
- [x] Record WO-19 acceptance evidence in `WO-19-CLEAN-BUILD-EVIDENCE.md`.
|
|
256
256
|
|
|
257
|
+
## WO-23: long-horizon control-plane reconciliation
|
|
258
|
+
|
|
259
|
+
- [x] Reconcile typed failure outcomes across retry, workboard, and durable
|
|
260
|
+
failure memory.
|
|
261
|
+
- [x] Project all unresolved todo leaves and active failure obligations into
|
|
262
|
+
integration closure.
|
|
263
|
+
- [x] Keep lexical discovery candidates advisory until evidence adopts them.
|
|
264
|
+
- [x] Compact oversized raw discovery independently of total provider context
|
|
265
|
+
capacity and restore validated canonical receipt handles.
|
|
266
|
+
- [x] Activate nested Git tracking only from explicit in-workspace target paths
|
|
267
|
+
and reject ambiguous or escaped repositories.
|
|
268
|
+
- [x] Consolidate Telegram `edited_message` revisions before UI output,
|
|
269
|
+
cognition, attention inference, or queue admission.
|
|
270
|
+
- [x] Pass deterministic regression tests, affected typechecks, and the
|
|
271
|
+
workspace build.
|
|
272
|
+
- [x] Commit and push the scoped repair to `main`.
|
|
273
|
+
|
|
274
|
+
## WO-24: Telegram logical request variant identity
|
|
275
|
+
|
|
276
|
+
- [x] Correlate empty Telegram streams with broker conflict receipts.
|
|
277
|
+
- [x] Confirm the broker correctly binds one logical ID to one exact wire
|
|
278
|
+
contract.
|
|
279
|
+
- [x] Give stream-to-unary compatibility fallback a distinct stable ID.
|
|
280
|
+
- [x] Give `/v1`-to-native empty recovery a distinct stable ID.
|
|
281
|
+
- [x] Give changed `/v1` recovery bodies a distinct stable ID.
|
|
282
|
+
- [x] Preserve the original ID across byte-identical queue retries.
|
|
283
|
+
- [x] Route Ollama follow-up decisions through native chat with `think:false`.
|
|
284
|
+
- [x] Raise the follow-up contract budget from 300 to 1,024 tokens.
|
|
285
|
+
- [x] Add a broker-faithful 409 conflict regression harness.
|
|
286
|
+
- [x] Pass backend, Telegram transport, observability, and Bot API suites.
|
|
287
|
+
- [x] Pass affected package typechecks and the workspace build.
|
|
288
|
+
- [ ] Run a token-generating live canary only after the mandatory accelerator
|
|
289
|
+
preflight identifies the requested endpoint, model, and GPU placement.
|
|
290
|
+
|
|
257
291
|
## Program completion gate
|
|
258
292
|
|
|
259
293
|
- [x] All repository-controlled deterministic WO acceptance sections pass.
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# WO-23: Long-horizon control-plane reconciliation
|
|
2
|
+
|
|
3
|
+
## Incident
|
|
4
|
+
|
|
5
|
+
The restored `telegram_test` run
|
|
6
|
+
`tui-3869250-mtlvp324-1788468819792-1` continued a large pentest-tooling
|
|
7
|
+
frontend task across a process restart. It made real source mutations and
|
|
8
|
+
advanced from the first implementation group to `todo-p2a`. The run was not
|
|
9
|
+
dead and its model context had ample nominal capacity.
|
|
10
|
+
|
|
11
|
+
The live artifacts nevertheless exposed contradictions that make long-horizon
|
|
12
|
+
work slower and less trustworthy:
|
|
13
|
+
|
|
14
|
+
- the workboard had 34 unresolved cards while integration closure reported
|
|
15
|
+
`ready`, no gaps, and no blockers;
|
|
16
|
+
- successful corrective actions did not retire several failure cards;
|
|
17
|
+
- todo leaf cards had no evidence even when their declared artifacts were
|
|
18
|
+
mutated and inspected;
|
|
19
|
+
- restored historical discovery transactions occupied most of the model-visible
|
|
20
|
+
tool context;
|
|
21
|
+
- a generic task word such as `left` promoted unrelated mesh paths into the
|
|
22
|
+
affected-path frontier;
|
|
23
|
+
- Git progress stayed permanently disabled because the launch workspace was
|
|
24
|
+
not a repository even though mutations targeted a nested repository; and
|
|
25
|
+
- repeated `edited_message` updates from a streaming peer bot were displayed
|
|
26
|
+
and admitted as repeated cognition before logical-input consolidation.
|
|
27
|
+
|
|
28
|
+
This order repairs Omnius. It does not mutate the pentest project used as the
|
|
29
|
+
field workload.
|
|
30
|
+
|
|
31
|
+
## Evidence
|
|
32
|
+
|
|
33
|
+
- Live debug index:
|
|
34
|
+
`/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/debug-library/runs/tui-3869250-mtlvp324-1788468819792-1/README.md`
|
|
35
|
+
- Live workboard:
|
|
36
|
+
`/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/workboards/tui-3869250-mtlvp324-1788468819792-1/active.json`
|
|
37
|
+
- Live Git projection:
|
|
38
|
+
`/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/git-progress/latest.json`
|
|
39
|
+
- Live interruption lifecycle:
|
|
40
|
+
`/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/interruptions/tui-3869250-mtlvp324.json`
|
|
41
|
+
- Canonical incident packet:
|
|
42
|
+
`/home/roko/.codex/attachments/a27b0a6c-c533-49d8-8a4c-818769e24453/pasted-text-1.txt`
|
|
43
|
+
|
|
44
|
+
## Design invariants
|
|
45
|
+
|
|
46
|
+
### Failure lifecycle
|
|
47
|
+
|
|
48
|
+
- [x] Record a failure only after any inline permission retry reaches its final
|
|
49
|
+
outcome.
|
|
50
|
+
- [x] Never persist a `workboardCardId` unless that card exists.
|
|
51
|
+
- [x] Resolve failures from typed target and receipt evidence, not prose.
|
|
52
|
+
- [x] Include receipt-observed paths when matching a corrective verifier.
|
|
53
|
+
- [x] Retire or supersede the durable obligation when an in-memory failure
|
|
54
|
+
expires. Expiry is not verification.
|
|
55
|
+
- [x] Surface failed reconciliation as bounded telemetry instead of swallowing
|
|
56
|
+
it silently.
|
|
57
|
+
|
|
58
|
+
### Todo and completion truth
|
|
59
|
+
|
|
60
|
+
- [x] Keep every active todo leaf in the authoritative workboard projection.
|
|
61
|
+
Apply limits only when rendering.
|
|
62
|
+
- [x] Use canonical path fields for declared-artifact evidence predicates.
|
|
63
|
+
- [x] Bind a mutation or verifier only to an explicit todo/card assignment or
|
|
64
|
+
an unambiguous normalized artifact overlap.
|
|
65
|
+
- [x] Reject ambiguous todo evidence binding instead of selecting by prose.
|
|
66
|
+
- [x] Give integration closure the current unresolved todo leaves and active
|
|
67
|
+
project failure obligations.
|
|
68
|
+
- [x] Never render closure as `ready` while either authoritative set remains
|
|
69
|
+
unresolved.
|
|
70
|
+
|
|
71
|
+
### Context and ontology
|
|
72
|
+
|
|
73
|
+
- [x] Classify fused canonical task frames and operational work graphs as
|
|
74
|
+
working-set context even when they contain a nested current-goal section.
|
|
75
|
+
- [x] Trigger consolidation from raw-discovery pressure independently of the
|
|
76
|
+
provider's total context capacity.
|
|
77
|
+
- [x] Preserve or reconstruct validated receipt handles across restoration so
|
|
78
|
+
successful historical discovery does not require full raw transactions.
|
|
79
|
+
- [x] Keep lexical candidate paths advisory.
|
|
80
|
+
- [x] Put only explicit required artifacts, mutations, evidence targets, and
|
|
81
|
+
adopted claim paths in `affectedPaths`.
|
|
82
|
+
- [x] A single generic task-token overlap must not create an affected path.
|
|
83
|
+
|
|
84
|
+
### Nested Git progress
|
|
85
|
+
|
|
86
|
+
- [x] Keep the launch workspace as the safety and `.omnius` state root.
|
|
87
|
+
- [x] Discover Git roots only from canonical tool target or mutation paths.
|
|
88
|
+
- [x] Never recursively select the first nested repository.
|
|
89
|
+
- [x] Recover from an outer `not_repo` result when later typed path evidence
|
|
90
|
+
identifies one enclosing repository.
|
|
91
|
+
- [x] Reject paths outside the workspace and conflicting repository evidence.
|
|
92
|
+
- [x] Mark post-mutation discovery as late and do not fabricate a pre-mutation
|
|
93
|
+
clean baseline.
|
|
94
|
+
|
|
95
|
+
### Telegram edit ingress
|
|
96
|
+
|
|
97
|
+
- [x] Use `(chat_id, message_id)` as the logical input identity across Telegram
|
|
98
|
+
`message` and `edited_message` envelopes.
|
|
99
|
+
- [x] Consolidate an edit before conversation observation, TUI `heard` output,
|
|
100
|
+
queue admission, or attention inference.
|
|
101
|
+
- [x] Replace the queued payload with the newest edit and extend only the
|
|
102
|
+
bounded quiet window.
|
|
103
|
+
- [x] An edit to an already active or settled peer-bot input must not start a
|
|
104
|
+
second cognition/reply run.
|
|
105
|
+
- [x] Preserve the latest edited content as transport and conversation evidence.
|
|
106
|
+
- [x] Do not add sender names, text patterns, or forced reply decisions.
|
|
107
|
+
|
|
108
|
+
## Granular implementation checklist
|
|
109
|
+
|
|
110
|
+
- [x] Add unresolved todo/failure inputs to `BuildIntegrationClosureInput`.
|
|
111
|
+
- [x] Render bounded todo and failure proof gaps in the closure frontier.
|
|
112
|
+
- [x] Add closure tests for open todos, active failures, and candidate-only
|
|
113
|
+
paths.
|
|
114
|
+
- [x] Remove advisory candidates from authoritative `affectedPaths`.
|
|
115
|
+
- [x] Add a discovery regression for `left sidebar` versus unrelated
|
|
116
|
+
`left_*` mesh assets.
|
|
117
|
+
- [x] Correct fused-frame request-budget classification precedence.
|
|
118
|
+
- [x] Correct the equivalent context-dump classification.
|
|
119
|
+
- [x] Add fused-frame accounting tests.
|
|
120
|
+
- [x] Include execution-receipt observed paths in target extraction.
|
|
121
|
+
- [x] Make first observed failures card/store consistent.
|
|
122
|
+
- [x] Reconcile expiry with durable cards without claiming verification.
|
|
123
|
+
- [x] Add failure-resolution error telemetry.
|
|
124
|
+
- [x] Remove the 20-leaf authority cap from todo mirroring.
|
|
125
|
+
- [x] Normalize declared-artifact predicates as paths.
|
|
126
|
+
- [x] Add an exact, ambiguity-safe todo evidence selector.
|
|
127
|
+
- [x] Add todo evidence-binding tests.
|
|
128
|
+
- [x] Add evidence-driven nested Git-root activation.
|
|
129
|
+
- [x] Add nested/multiple/outside-root Git tests.
|
|
130
|
+
- [x] Move edit consolidation before Telegram observation and ingress output.
|
|
131
|
+
- [x] Add repeated peer-bot edit tests for history, queue, and router cardinality.
|
|
132
|
+
- [x] Run affected package tests.
|
|
133
|
+
- [x] Run affected package typechecks.
|
|
134
|
+
- [x] Run the workspace build.
|
|
135
|
+
- [x] Inspect and stage only task-owned files.
|
|
136
|
+
- [x] Commit and push `main` without rewriting history.
|
|
137
|
+
|
|
138
|
+
## Acceptance
|
|
139
|
+
|
|
140
|
+
The repair is accepted when deterministic tests prove the invariants above and
|
|
141
|
+
the live evidence can no longer produce these contradictions. Token-generating
|
|
142
|
+
live inference is outside this order unless the mandatory GPU preflight is
|
|
143
|
+
completed first.
|
|
144
|
+
|
|
145
|
+
## Verification evidence
|
|
146
|
+
|
|
147
|
+
- `pnpm --filter @omnius/orchestrator typecheck`: passed.
|
|
148
|
+
- `pnpm --filter omnius typecheck`: passed.
|
|
149
|
+
- Focused orchestrator suites: 67 tests passed across 9 files.
|
|
150
|
+
- Telegram transport contract: 11 tests passed.
|
|
151
|
+
- Full `agenticRunner.test.ts`: 175 tests passed.
|
|
152
|
+
- `pnpm -r build`: passed for all 11 buildable workspace projects.
|
|
153
|
+
- No live token-generating inference was used. The mandatory accelerator gate
|
|
154
|
+
therefore did not apply.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# WO-24: Telegram logical request variant identity
|
|
2
|
+
|
|
3
|
+
## Incident
|
|
4
|
+
|
|
5
|
+
Telegram follow-up requests could finish a streamed inference with no visible
|
|
6
|
+
contract and then fail their one unary compatibility request with HTTP 409:
|
|
7
|
+
`logical_request_conflict`. The observed stream used all 300 completion tokens
|
|
8
|
+
and ended with `finish=length`.
|
|
9
|
+
|
|
10
|
+
The broker response was correct. Omnius reused one logical request ID after it
|
|
11
|
+
changed the request body from streaming to unary. The same contract violation
|
|
12
|
+
also existed in the backend's empty-output recovery path when it changed from
|
|
13
|
+
OpenAI-compatible `/v1/chat/completions` to native `/api/chat`, or when it
|
|
14
|
+
constructed a changed `/v1` retry body.
|
|
15
|
+
|
|
16
|
+
## Root cause
|
|
17
|
+
|
|
18
|
+
ollama-unify binds a logical request ID to the exact request method, path,
|
|
19
|
+
content type, and body. It uses that binding for idempotent queue admission and
|
|
20
|
+
completed-response replay. Omnius treated the ID as a broad correlation ID.
|
|
21
|
+
It therefore reused the ID across different transport contracts. The broker
|
|
22
|
+
rejected the second contract instead of replaying an unrelated response.
|
|
23
|
+
|
|
24
|
+
The initial empty output had a second cause. Telegram follow-up inference used
|
|
25
|
+
the OpenAI-compatible Ollama renderer without native transport preference. A
|
|
26
|
+
Qwen-derived model can consume its entire budget in renderer-managed reasoning
|
|
27
|
+
even when the caller requests `think:false`. The stream adapter then has no
|
|
28
|
+
visible contract to parse.
|
|
29
|
+
|
|
30
|
+
## Invariants
|
|
31
|
+
|
|
32
|
+
- [x] One logical request ID identifies one exact wire contract.
|
|
33
|
+
- [x] Byte-identical queue retries retain their original ID.
|
|
34
|
+
- [x] A stream-to-unary transition derives a new stable ID.
|
|
35
|
+
- [x] A `/v1`-to-native recovery transition derives a new stable ID.
|
|
36
|
+
- [x] A changed retry body derives a new stable ID.
|
|
37
|
+
- [x] A Telegram Ollama follow-up uses native chat and explicit
|
|
38
|
+
direct-answer mode.
|
|
39
|
+
- [x] Follow-up output capacity fits the declared JSON contract.
|
|
40
|
+
- [x] A deterministic test broker rejects any future cross-contract ID reuse.
|
|
41
|
+
|
|
42
|
+
## Implementation
|
|
43
|
+
|
|
44
|
+
- [x] Add `telegramUnaryCompatibilityLogicalRequestId`.
|
|
45
|
+
- [x] Apply the derived ID to the unary compatibility request only.
|
|
46
|
+
- [x] Add backend request-variant identity derivation.
|
|
47
|
+
- [x] Apply a native-recovery identity before `/api/chat`.
|
|
48
|
+
- [x] Apply a changed-retry identity before the second `/v1` request.
|
|
49
|
+
- [x] Use the normal broker request builder for the changed retry.
|
|
50
|
+
- [x] Set `preferNativeOllamaChat` for Ollama follow-up decisions.
|
|
51
|
+
- [x] Raise follow-up `maxTokens` from 300 to 1,024.
|
|
52
|
+
- [x] Document logical ID semantics on the backend request contract.
|
|
53
|
+
|
|
54
|
+
## Verification
|
|
55
|
+
|
|
56
|
+
- `pnpm --filter @omnius/orchestrator typecheck`: passed.
|
|
57
|
+
- `pnpm --filter omnius typecheck`: passed.
|
|
58
|
+
- `ollama-backend-pool.test.ts`: 27 tests passed.
|
|
59
|
+
- `telegram-inference-contract.test.ts`: 10 tests passed.
|
|
60
|
+
- `telegram-observability.test.ts`: 22 tests passed.
|
|
61
|
+
- `telegram-bot-api-10.test.ts`: 135 tests passed.
|
|
62
|
+
- The mocked broker stores the first exact body for every logical ID and emits
|
|
63
|
+
the production-style non-retryable 409 response if later content differs.
|
|
64
|
+
- No token-generating live inference was used. A live canary remains subject to
|
|
65
|
+
the mandatory endpoint, model, and physical GPU placement preflight.
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.694",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "omnius",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.694",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"image-to-ascii"
|
|
12
12
|
],
|
|
@@ -2011,6 +2011,22 @@
|
|
|
2011
2011
|
"node": ">= 8"
|
|
2012
2012
|
}
|
|
2013
2013
|
},
|
|
2014
|
+
"node_modules/@peculiar/asn1-asym-key": {
|
|
2015
|
+
"version": "2.9.4",
|
|
2016
|
+
"resolved": "https://registry.npmjs.org/@peculiar/asn1-asym-key/-/asn1-asym-key-2.9.4.tgz",
|
|
2017
|
+
"integrity": "sha512-s7SJfjcXlR3MYMngDTeMLCy3VjGaIxeEy905CQ0j09pDbeYhNBvBGA7r7cAvCZYkVFo9kVg9RAki0K2iUz7SGQ==",
|
|
2018
|
+
"license": "MIT",
|
|
2019
|
+
"dependencies": {
|
|
2020
|
+
"@peculiar/asn1-pkcs8": "^2.9.4",
|
|
2021
|
+
"@peculiar/asn1-schema": "^2.9.4",
|
|
2022
|
+
"@peculiar/asn1-x509": "^2.9.4",
|
|
2023
|
+
"asn1js": "^3.0.10",
|
|
2024
|
+
"tslib": "^2.8.1"
|
|
2025
|
+
},
|
|
2026
|
+
"engines": {
|
|
2027
|
+
"node": ">=14"
|
|
2028
|
+
}
|
|
2029
|
+
},
|
|
2014
2030
|
"node_modules/@peculiar/asn1-cms": {
|
|
2015
2031
|
"version": "2.9.4",
|
|
2016
2032
|
"resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.9.4.tgz",
|
|
@@ -2167,6 +2183,22 @@
|
|
|
2167
2183
|
"node": ">=14"
|
|
2168
2184
|
}
|
|
2169
2185
|
},
|
|
2186
|
+
"node_modules/@peculiar/asn1-x509-post-quantum": {
|
|
2187
|
+
"version": "2.9.4",
|
|
2188
|
+
"resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-post-quantum/-/asn1-x509-post-quantum-2.9.4.tgz",
|
|
2189
|
+
"integrity": "sha512-GD0k7BY3dsEIeai7C7bVRPddj/PzZu+sTawRPRxdHKbdy1f9b58WQyk0eFJdr28GShyLVTU8poyi4+bTAZfEtQ==",
|
|
2190
|
+
"license": "MIT",
|
|
2191
|
+
"dependencies": {
|
|
2192
|
+
"@peculiar/asn1-asym-key": "^2.9.4",
|
|
2193
|
+
"@peculiar/asn1-schema": "^2.9.4",
|
|
2194
|
+
"@peculiar/asn1-x509": "^2.9.4",
|
|
2195
|
+
"asn1js": "^3.0.10",
|
|
2196
|
+
"tslib": "^2.8.1"
|
|
2197
|
+
},
|
|
2198
|
+
"engines": {
|
|
2199
|
+
"node": ">=14"
|
|
2200
|
+
}
|
|
2201
|
+
},
|
|
2170
2202
|
"node_modules/@peculiar/json-schema": {
|
|
2171
2203
|
"version": "1.1.12",
|
|
2172
2204
|
"resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz",
|
|
@@ -2205,18 +2237,19 @@
|
|
|
2205
2237
|
}
|
|
2206
2238
|
},
|
|
2207
2239
|
"node_modules/@peculiar/x509": {
|
|
2208
|
-
"version": "2.
|
|
2209
|
-
"resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-2.
|
|
2210
|
-
"integrity": "sha512-
|
|
2240
|
+
"version": "2.1.0",
|
|
2241
|
+
"resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-2.1.0.tgz",
|
|
2242
|
+
"integrity": "sha512-IYbg1R03CSQGWwl24kGyqrdVtixNSbRaDvBg1r5wyYjTP+VwPQkka1BzTgU5+vxiuwqg04OxdvdJ1xYYFIdUSA==",
|
|
2211
2243
|
"license": "MIT",
|
|
2212
2244
|
"dependencies": {
|
|
2213
|
-
"@peculiar/asn1-cms": "^2.
|
|
2214
|
-
"@peculiar/asn1-csr": "^2.
|
|
2215
|
-
"@peculiar/asn1-ecc": "^2.
|
|
2216
|
-
"@peculiar/asn1-pkcs9": "^2.
|
|
2217
|
-
"@peculiar/asn1-rsa": "^2.
|
|
2218
|
-
"@peculiar/asn1-schema": "^2.
|
|
2219
|
-
"@peculiar/asn1-x509": "^2.
|
|
2245
|
+
"@peculiar/asn1-cms": "^2.9.4",
|
|
2246
|
+
"@peculiar/asn1-csr": "^2.9.4",
|
|
2247
|
+
"@peculiar/asn1-ecc": "^2.9.4",
|
|
2248
|
+
"@peculiar/asn1-pkcs9": "^2.9.4",
|
|
2249
|
+
"@peculiar/asn1-rsa": "^2.9.4",
|
|
2250
|
+
"@peculiar/asn1-schema": "^2.9.4",
|
|
2251
|
+
"@peculiar/asn1-x509": "^2.9.4",
|
|
2252
|
+
"@peculiar/asn1-x509-post-quantum": "^2.9.4",
|
|
2220
2253
|
"pvtsutils": "^1.3.6",
|
|
2221
2254
|
"tslib": "^2.8.1",
|
|
2222
2255
|
"tsyringe": "^4.10.0"
|
|
@@ -4321,9 +4354,9 @@
|
|
|
4321
4354
|
}
|
|
4322
4355
|
},
|
|
4323
4356
|
"node_modules/hono": {
|
|
4324
|
-
"version": "4.13.
|
|
4325
|
-
"resolved": "https://registry.npmjs.org/hono/-/hono-4.13.
|
|
4326
|
-
"integrity": "sha512-
|
|
4357
|
+
"version": "4.13.7",
|
|
4358
|
+
"resolved": "https://registry.npmjs.org/hono/-/hono-4.13.7.tgz",
|
|
4359
|
+
"integrity": "sha512-c8/gF9ac8Y78/agExVocyLevgR+JlpNB444Py0FSX8pJoPdYUfUzRcXtYEYGwt6l19qIlVZPN5Mfsw9jFShmQQ==",
|
|
4327
4360
|
"license": "MIT",
|
|
4328
4361
|
"engines": {
|
|
4329
4362
|
"node": ">=16.9.0"
|
|
@@ -5128,9 +5161,9 @@
|
|
|
5128
5161
|
}
|
|
5129
5162
|
},
|
|
5130
5163
|
"node_modules/jose": {
|
|
5131
|
-
"version": "6.2.
|
|
5132
|
-
"resolved": "https://registry.npmjs.org/jose/-/jose-6.2.
|
|
5133
|
-
"integrity": "sha512-
|
|
5164
|
+
"version": "6.2.11",
|
|
5165
|
+
"resolved": "https://registry.npmjs.org/jose/-/jose-6.2.11.tgz",
|
|
5166
|
+
"integrity": "sha512-A5NPn7g8EAzGU3IzRs+Yiq8K5n3ypYS75M5+KKiVHdUexfpWK1kP4ZMq7QnTGDoMj6TJ1dtcEJjW60yZDXS4hg==",
|
|
5134
5167
|
"license": "MIT",
|
|
5135
5168
|
"funding": {
|
|
5136
5169
|
"url": "https://github.com/sponsors/panva"
|
|
@@ -7591,9 +7624,9 @@
|
|
|
7591
7624
|
}
|
|
7592
7625
|
},
|
|
7593
7626
|
"node_modules/undici": {
|
|
7594
|
-
"version": "7.29.
|
|
7595
|
-
"resolved": "https://registry.npmjs.org/undici/-/undici-7.29.
|
|
7596
|
-
"integrity": "sha512-
|
|
7627
|
+
"version": "7.29.1",
|
|
7628
|
+
"resolved": "https://registry.npmjs.org/undici/-/undici-7.29.1.tgz",
|
|
7629
|
+
"integrity": "sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q==",
|
|
7597
7630
|
"license": "MIT",
|
|
7598
7631
|
"engines": {
|
|
7599
7632
|
"node": ">=20.18.1"
|
package/package.json
CHANGED