You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 4, 2025. It is now read-only.
Copy file name to clipboardExpand all lines: .github/ISSUE_TEMPLATE/QA_checklist.md
+68-48Lines changed: 68 additions & 48 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,43 +17,49 @@ OS (select one)
17
17
18
18
--------
19
19
20
-
# 1. Manual QA
20
+
# 1. Manual QA (CLI)
21
21
## Installation
22
+
-[ ] it should install with local installer (default; no internet required during installation, all dependencies bundled)
22
23
-[ ] it should install with network installer
23
-
-[ ] it should install with local installer
24
-
-[ ] it should install 2 binaries (cortex and cortex-server)
24
+
-[ ] it should install 2 binaries (cortex and cortex-server) [mac: binaries in `/usr/local/bin`]
25
25
-[ ] it should install with correct folder permissions
26
26
-[ ] it should install with folders: /engines /logs (no /models folder until model pull)
27
-
27
+
-[ ] It should install with Docker image https://cortex.so/docs/installation/docker/
28
28
29
29
## Data/Folder structures
30
30
-[ ] cortex.so models are stored in `cortex.so/model_name/variants/`, with .gguf and model.yml file
31
31
-[ ] huggingface models are stored `huggingface.co/author/model_name` with .gguf and model.yml file
32
-
-[ ] downloaded models are saved in cortex.db (view via SQL)
33
-
-[ ][to add] tests for copying models data folder & relative paths
34
-
32
+
-[ ] downloaded models are saved in cortex.db with the right fields: `model`, `author_repo_id`, `branch_name`, `path_to_model_yaml` (view via SQL)
35
33
36
34
## Cortex Update
37
35
-[ ] cortex -v should check output current version and check for updates
38
36
-[ ] cortex update replaces the app, installer, uninstaller and binary file (without installing cortex.llamacpp)
39
-
-[ ] cortex update should update from ~3-5 versions ago to latest (+3 to 5 bump)
40
-
-[ ] cortex update should update from the previous version to latest (+1 bump)
41
-
-[ ] cortex update should update from previous stable version to latest (stable checking)
42
-
-[ ] it should gracefully update when server is actively running
37
+
-[ ]`cortex update` should update from ~3-5 versions ago to latest (+3 to 5 bump)
38
+
-[ ]`cortex update` should update from the previous version to latest (+1 bump)
39
+
-[ ]`cortex update -v 1.x.x-xxx` should update from the previous version to specified version
40
+
-[ ]`cortex update` should update from previous stable version to latest
41
+
-[ ] it should gracefully update when server is actively running
43
42
44
43
## Overall / App Shell
45
-
-[ ] cortex returns helpful text in a timely* way
44
+
-[ ] cortex returns helpful text in a timely* way (< 5s)
46
45
-[ ]`cortex` or `cortex -h` displays help commands
47
-
-[ ] CLI commands should start the API server, if not running [WIP `cortex pull`, `cortex engines install`]
46
+
-[ ] CLI commands should start the API server, if not running [except
48
47
-[ ] it should correctly log to cortex-cli.log and cortex.log
49
48
-[ ] There should be no stdout from inactive shell session
50
49
51
50
## Engines
52
51
-[ ] llama.cpp should be installed by default
53
-
-[ ] it should run gguf models on llamacpp
54
-
-[ ] it should install engines
55
-
-[ ] it should list engines (Compatible, Ready, Not yet installed)
52
+
-[ ] it should run gguf models on llamacpp
53
+
-[ ] it should list engines
56
54
-[ ] it should get engines
55
+
-[ ] it should install engines (latest version if not specified)
56
+
-[ ] it should install engines (with specified variant and version)
57
+
-[ ] it should get default engine
58
+
-[ ] it should set default engine (with specified variant/version)
59
+
-[ ] it should load engine
60
+
-[ ] it should unload engine
61
+
-[ ] it should update engine (to latest version)
62
+
-[ ] it should update engine (to specified version)
57
63
-[ ] it should uninstall engines
58
64
-[ ] it should gracefully continue engine installation if interrupted halfway (partial download)
59
65
-[ ] it should gracefully handle when users try to CRUD incompatible engines (No variant found for xxx)
@@ -62,15 +68,17 @@ OS (select one)
62
68
-[ ] it should update engines versions [WIP, not tested]
63
69
64
70
## Server
65
-
-[ ]`cortex start` should start server and output API documentation page
66
-
-[ ] users can see API documentation page
67
-
-[ ]`cortex stop` should stop server
68
-
-[ ] it should correctly log to cortex logs
71
+
-[ ]`cortex start` should start server and output localhost URL & port number
72
+
-[ ] users can access API Swagger documentation page at localhost URL & port number
73
+
-[ ]`cortex start` can be configured with parameters (port, [logLevel [WIP]](https://github.com/janhq/cortex.cpp/pull/1636)) https://cortex.so/docs/cli/start/
74
+
-[ ] it should correctly log to cortex logs (logs/cortex.log, logs/cortex-cli.log)
69
75
-[ ]`cortex ps` should return server status and running models (or no model loaded)
76
+
-[ ]`cortex stop` should stop server
70
77
71
78
## Model Pulling
72
79
-[ ] Pulling a model should pull .gguf and model.yml file
73
-
-[ ] Model download progress should appear (with accurate %, total time, download size, speed)
80
+
-[ ] Model download progress should appear as download bars for each file
81
+
-[ ] Model download progress should be accurate (%, total time, download size, speed)
74
82
### cortex.so
75
83
-[ ] it should pull by built in model_ID
76
84
-[ ] pull by model_ID should recommend default variant at the top (set in HF model.yml)
@@ -85,24 +93,23 @@ OS (select one)
85
93
86
94
## Model Management
87
95
-[ ] it should list downloaded models
88
-
-[ ] it should get info of a local model
89
-
-[ ] it should update models
96
+
-[ ] it should get a local model
97
+
-[ ] it should update model parameters in model.yaml
90
98
-[ ] it should delete a model
91
99
-[ ] it should import models with model_id and model_path
92
-
-[ ][To deprecate] it should alias models (deprecate once `cortex run` with regex is implemented)
93
100
94
101
## Model Running
95
102
-[ ]`cortex run <cortexso model>` - if no local models detected, shows `pull` model menu
96
103
-[ ]`cortex run` - if local model detected, runs the local model
97
-
-[ ]`cortex run` - if multiple local models detected, shows list of local models for users to select
104
+
-[ ]`cortex run` - if multiple local models detected, shows list of local models (from multiple model sources eg cortexso, HF authors) for users to select (via regex search)
98
105
-[ ]`cortex run <invalid model id>` should return gracefully `Model not found!`
99
106
-[ ] run should autostart server
100
107
-[ ]`cortex run <model>` starts interactive chat (by default)
101
108
-[ ]`cortex run <model> -d` runs in detached mode
102
109
-[ ]`cortex models start <model>`
103
110
-[ ] terminate StdIn or `exit()` should exit interactive chat
104
111
105
-
## Hardware Detection / Acceleration [WIP]
112
+
## Hardware Detection / Acceleration [WIP, no need to QA]
106
113
-[ ] it should auto offload max ngl
107
114
-[ ] it should correctly detect available GPUs
108
115
-[ ] it should gracefully detect missing dependencies/drivers
0 commit comments