arcus-cli 0.2.0__tar.gz → 0.2.1__tar.gz
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.
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/PKG-INFO +44 -52
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/README.md +43 -51
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/pyproject.toml +1 -1
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/uv.lock +1 -1
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/.github/workflows/ci.yml +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/.github/workflows/release.yml +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/.gitignore +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/.python-version +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/CONTRIBUTING.md +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/LICENSE +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/__init__.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/adapters/__init__.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/adapters/arc_adapter.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/cache/__init__.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/cache/benchmark.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/cache/semantic_cache.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/cli.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/config.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/embeddings.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/eval/__init__.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/eval/offline.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/eval/regret.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/quality/__init__.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/quality/gate.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/routing/__init__.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/routing/bandit.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/routing/context.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/routing/model_catalog.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/routing/reward.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/routing/warm_start.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/storage/__init__.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/storage/db.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/src/arcus/storage/stats.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/adapters/test_arc_adapter.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/adapters/test_arc_adapter_live.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/cache/test_benchmark.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/cache/test_semantic_cache.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/eval/test_offline.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/eval/test_regret.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/quality/test_gate.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/routing/test_bandit.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/routing/test_context.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/routing/test_model_catalog.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/routing/test_reward.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/routing/test_warm_start.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/storage/test_db.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/storage/test_stats.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/test_cli.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/test_config.py +0 -0
- {arcus_cli-0.2.0 → arcus_cli-0.2.1}/tests/test_embeddings.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: arcus-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Adaptive routing, a quality gate, and a correctness-aware cache on top of Virginia Tech ARC's LLM API
|
|
5
5
|
Project-URL: Homepage, https://github.com/ShakirFarhan/Arcus
|
|
6
6
|
Project-URL: Repository, https://github.com/ShakirFarhan/Arcus
|
|
@@ -147,16 +147,16 @@ anything that's no longer live, rather than routing to a model
|
|
|
147
147
|
guaranteed to fail. Local history logged under a since-renamed model id
|
|
148
148
|
is skipped the same way when the bandit's state gets rebuilt.
|
|
149
149
|
|
|
150
|
-
Optionally, code, math, and long-document questions can
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
150
|
+
Optionally, code, math, and long-document questions can route across
|
|
151
|
+
ARC's `-thinking-*` reasoning-effort model variants too
|
|
152
|
+
(`arcus config set enable_reasoning_variants true`, default off).
|
|
153
|
+
Everyday questions stay on the fast base four either way. This is unit
|
|
154
|
+
tested but hasn't run against a real ARC key from this environment.
|
|
155
|
+
ARC's docs list these as separate catalog ids rather than a parameter
|
|
156
|
+
on the base model, the same pattern already confirmed for web search's
|
|
157
|
+
legacy-tool-calling variants below, but that's unverified here. Ask a
|
|
158
|
+
code or math question after turning it on and confirm it actually
|
|
159
|
+
answers before trusting it.
|
|
160
160
|
|
|
161
161
|
### Quality gate
|
|
162
162
|
|
|
@@ -438,47 +438,39 @@ on a handful of rows isn't a reliable comparison yet.
|
|
|
438
438
|
|
|
439
439
|
## Status
|
|
440
440
|
|
|
441
|
-
Everything
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
- Real logged usage is still thin (a handful of manual runs). `arcus
|
|
476
|
-
eval` runs the comparison today, it's just not resting on enough
|
|
477
|
-
data yet to trust the numbers, it says so when that's the case rather
|
|
478
|
-
than presenting a false-confidence table.
|
|
479
|
-
- Reasoning-effort variant routing needs a live-key run to confirm ARC
|
|
480
|
-
actually serves the `-thinking-*` ids the way its docs describe,
|
|
481
|
-
before it's safe to turn on by default.
|
|
441
|
+
Everything above is built and working, adapter, context classification,
|
|
442
|
+
all three bandit algorithms, the reward function, the quality gate, the
|
|
443
|
+
semantic cache, the offline eval / regret code. The CLI covers all of
|
|
444
|
+
it: asking directly (with an optional `--model` override), chat with
|
|
445
|
+
inline attachments and transcript export, image/doc/web modes, config,
|
|
446
|
+
stats, and eval.
|
|
447
|
+
|
|
448
|
+
Live-tested against a real ARC key: all four models answer correctly
|
|
449
|
+
(`tests/adapters/test_arc_adapter_live.py`), and a full `arcus "..."`
|
|
450
|
+
run has gone through the real pipeline end to end, classification,
|
|
451
|
+
cache miss, routing, an actual ARC call, the quality gate, logging,
|
|
452
|
+
caching. Image input, document Q&A, and web search have each gotten a
|
|
453
|
+
real run too. Test suite: 273 passing with a key set (269 + 4
|
|
454
|
+
live-only), 4 skipped without one.
|
|
455
|
+
|
|
456
|
+
Exception: reasoning-effort variant routing (`enable_reasoning_variants`)
|
|
457
|
+
has only run against a fake adapter so far, which is why it defaults
|
|
458
|
+
off. See "Adaptive routing" above.
|
|
459
|
+
|
|
460
|
+
ARC's models are reasoning models under the hood, they write to a
|
|
461
|
+
hidden `reasoning` field before `content`, so a tight `max_tokens`
|
|
462
|
+
budget can get eaten up before any real answer shows up. The CLI never
|
|
463
|
+
sets `max_tokens` itself, so this doesn't affect normal usage, it only
|
|
464
|
+
matters if you're calling the adapter directly with your own tight
|
|
465
|
+
budget.
|
|
466
|
+
|
|
467
|
+
Still open:
|
|
468
|
+
|
|
469
|
+
- Real logged usage is thin (a handful of manual runs). `arcus eval`
|
|
470
|
+
runs today, it just doesn't have enough data yet, and says so
|
|
471
|
+
instead of faking confidence.
|
|
472
|
+
- Reasoning-effort routing needs a live-key run before it's safe to
|
|
473
|
+
default on.
|
|
482
474
|
|
|
483
475
|
## Security & privacy
|
|
484
476
|
|
|
@@ -117,16 +117,16 @@ anything that's no longer live, rather than routing to a model
|
|
|
117
117
|
guaranteed to fail. Local history logged under a since-renamed model id
|
|
118
118
|
is skipped the same way when the bandit's state gets rebuilt.
|
|
119
119
|
|
|
120
|
-
Optionally, code, math, and long-document questions can
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
120
|
+
Optionally, code, math, and long-document questions can route across
|
|
121
|
+
ARC's `-thinking-*` reasoning-effort model variants too
|
|
122
|
+
(`arcus config set enable_reasoning_variants true`, default off).
|
|
123
|
+
Everyday questions stay on the fast base four either way. This is unit
|
|
124
|
+
tested but hasn't run against a real ARC key from this environment.
|
|
125
|
+
ARC's docs list these as separate catalog ids rather than a parameter
|
|
126
|
+
on the base model, the same pattern already confirmed for web search's
|
|
127
|
+
legacy-tool-calling variants below, but that's unverified here. Ask a
|
|
128
|
+
code or math question after turning it on and confirm it actually
|
|
129
|
+
answers before trusting it.
|
|
130
130
|
|
|
131
131
|
### Quality gate
|
|
132
132
|
|
|
@@ -408,47 +408,39 @@ on a handful of rows isn't a reliable comparison yet.
|
|
|
408
408
|
|
|
409
409
|
## Status
|
|
410
410
|
|
|
411
|
-
Everything
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
- Real logged usage is still thin (a handful of manual runs). `arcus
|
|
446
|
-
eval` runs the comparison today, it's just not resting on enough
|
|
447
|
-
data yet to trust the numbers, it says so when that's the case rather
|
|
448
|
-
than presenting a false-confidence table.
|
|
449
|
-
- Reasoning-effort variant routing needs a live-key run to confirm ARC
|
|
450
|
-
actually serves the `-thinking-*` ids the way its docs describe,
|
|
451
|
-
before it's safe to turn on by default.
|
|
411
|
+
Everything above is built and working, adapter, context classification,
|
|
412
|
+
all three bandit algorithms, the reward function, the quality gate, the
|
|
413
|
+
semantic cache, the offline eval / regret code. The CLI covers all of
|
|
414
|
+
it: asking directly (with an optional `--model` override), chat with
|
|
415
|
+
inline attachments and transcript export, image/doc/web modes, config,
|
|
416
|
+
stats, and eval.
|
|
417
|
+
|
|
418
|
+
Live-tested against a real ARC key: all four models answer correctly
|
|
419
|
+
(`tests/adapters/test_arc_adapter_live.py`), and a full `arcus "..."`
|
|
420
|
+
run has gone through the real pipeline end to end, classification,
|
|
421
|
+
cache miss, routing, an actual ARC call, the quality gate, logging,
|
|
422
|
+
caching. Image input, document Q&A, and web search have each gotten a
|
|
423
|
+
real run too. Test suite: 273 passing with a key set (269 + 4
|
|
424
|
+
live-only), 4 skipped without one.
|
|
425
|
+
|
|
426
|
+
Exception: reasoning-effort variant routing (`enable_reasoning_variants`)
|
|
427
|
+
has only run against a fake adapter so far, which is why it defaults
|
|
428
|
+
off. See "Adaptive routing" above.
|
|
429
|
+
|
|
430
|
+
ARC's models are reasoning models under the hood, they write to a
|
|
431
|
+
hidden `reasoning` field before `content`, so a tight `max_tokens`
|
|
432
|
+
budget can get eaten up before any real answer shows up. The CLI never
|
|
433
|
+
sets `max_tokens` itself, so this doesn't affect normal usage, it only
|
|
434
|
+
matters if you're calling the adapter directly with your own tight
|
|
435
|
+
budget.
|
|
436
|
+
|
|
437
|
+
Still open:
|
|
438
|
+
|
|
439
|
+
- Real logged usage is thin (a handful of manual runs). `arcus eval`
|
|
440
|
+
runs today, it just doesn't have enough data yet, and says so
|
|
441
|
+
instead of faking confidence.
|
|
442
|
+
- Reasoning-effort routing needs a live-key run before it's safe to
|
|
443
|
+
default on.
|
|
452
444
|
|
|
453
445
|
## Security & privacy
|
|
454
446
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|