@hongmaple0820/scale-engine 0.24.0 → 0.25.0

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/README.en.md CHANGED
@@ -1,47 +1,47 @@
1
1
  <p align="center">
2
- <img src="https://img.shields.io/badge/version-0.23.0-orange?style=flat-square" alt="version" />
2
+ <img src="https://img.shields.io/badge/version-0.23.0-orange?style=flat-square" alt="version" />
3
3
  <img src="https://img.shields.io/badge/platforms-16-blue?style=flat-square" alt="platforms" />
4
4
  <img src="https://img.shields.io/badge/agents-12-blue?style=flat-square" alt="agents" />
5
5
  <img src="https://img.shields.io/badge/workflows-10-green?style=flat-square" alt="workflows" />
6
6
  <img src="https://img.shields.io/badge/detectors-19-red?style=flat-square" alt="detectors" />
7
7
  <img src="https://img.shields.io/badge/tests-verified-brightgreen?style=flat-square" alt="tests" />
8
- <img src="https://img.shields.io/badge/npm-0.23.0-cb3837?style=flat-square&logo=npm" alt="npm" />
9
- </p>
10
-
11
- # SCALE Engine v0.23.0
8
+ <img src="https://img.shields.io/badge/npm-0.23.0-cb3837?style=flat-square&logo=npm" alt="npm" />
9
+ </p>
10
+
11
+ # SCALE Engine v0.23.0
12
12
 
13
13
  SCALE Engine makes AI coding agents follow engineering rules through executable workflow gates, evidence files, and review constraints instead of relying on prompt discipline alone. It helps humans see what the agent explored, planned, verified, skipped, and why a task is or is not ready to ship.
14
14
 
15
- Repository: https://github.com/hongmaple0820/scale-engine
16
- Mirror: https://gitee.com/hongmaple/scale-engine
17
- npm: https://www.npmjs.com/package/@hongmaple0820/scale-engine
18
- Language: [English](README.en.md) | [Chinese](README.md)
19
-
20
- ## Community
21
-
22
- SCALE Engine is an engineering workflow governance project for real AI-agent delivery. Contributions, issues, PRs, governance-pack ideas, and field reports are welcome through the source repositories. Chinese users can also follow the WeChat public account for updates, examples, and community entry points.
23
-
24
- | Platform | Link | Purpose |
25
- | --- | --- | --- |
26
- | GitHub | [https://github.com/hongmaple0820/scale-engine](https://github.com/hongmaple0820/scale-engine) | Source, issues, and PRs |
27
- | Gitee | [https://gitee.com/hongmaple/scale-engine](https://gitee.com/hongmaple/scale-engine) | China mirror and feedback |
28
- | npm | [https://www.npmjs.com/package/@hongmaple0820/scale-engine](https://www.npmjs.com/package/@hongmaple0820/scale-engine) | CLI package |
29
-
30
- <p align="center">
31
- <img src="image/wechat-public.jpg" alt="SCALE Engine WeChat public account" width="220" />
32
- </p>
33
-
34
- ## Sponsorship
35
-
36
- If SCALE Engine saves engineering governance time for your team, or helps move AI-agent work into a verifiable, reviewable, and releasable loop, voluntary sponsorship is welcome. Sponsorship supports maintenance, examples, documentation, test coverage, and community support. It is not a commercial support contract and does not change issue or PR priority.
37
-
38
- <p align="center">
39
- <img src="image/wxPay.jpg" alt="Sponsor with WeChat Pay" width="220" />
40
- &nbsp;&nbsp;
41
- <img src="image/zfb.jpg" alt="Sponsor with Alipay" width="220" />
42
- </p>
43
-
44
- ## What It Solves
15
+ Repository: https://github.com/hongmaple0820/scale-engine
16
+ Mirror: https://gitee.com/hongmaple/scale-engine
17
+ npm: https://www.npmjs.com/package/@hongmaple0820/scale-engine
18
+ Language: [English](README.en.md) | [Chinese](README.md)
19
+
20
+ ## Community
21
+
22
+ SCALE Engine is an engineering workflow governance project for real AI-agent delivery. Contributions, issues, PRs, governance-pack ideas, and field reports are welcome through the source repositories. Chinese users can also follow the WeChat public account for updates, examples, and community entry points.
23
+
24
+ | Platform | Link | Purpose |
25
+ | --- | --- | --- |
26
+ | GitHub | [https://github.com/hongmaple0820/scale-engine](https://github.com/hongmaple0820/scale-engine) | Source, issues, and PRs |
27
+ | Gitee | [https://gitee.com/hongmaple/scale-engine](https://gitee.com/hongmaple/scale-engine) | China mirror and feedback |
28
+ | npm | [https://www.npmjs.com/package/@hongmaple0820/scale-engine](https://www.npmjs.com/package/@hongmaple0820/scale-engine) | CLI package |
29
+
30
+ <p align="center">
31
+ <img src="image/wechat-public.jpg" alt="SCALE Engine WeChat public account" width="220" />
32
+ </p>
33
+
34
+ ## Sponsorship
35
+
36
+ If SCALE Engine saves engineering governance time for your team, or helps move AI-agent work into a verifiable, reviewable, and releasable loop, voluntary sponsorship is welcome. Sponsorship supports maintenance, examples, documentation, test coverage, and community support. It is not a commercial support contract and does not change issue or PR priority.
37
+
38
+ <p align="center">
39
+ <img src="image/wxPay.jpg" alt="Sponsor with WeChat Pay" width="220" />
40
+ &nbsp;&nbsp;
41
+ <img src="image/zfb.jpg" alt="Sponsor with Alipay" width="220" />
42
+ </p>
43
+
44
+ ## What It Solves
45
45
 
46
46
  AI coding becomes hard when agents must behave consistently across real teams and real repositories:
47
47
 
@@ -210,6 +210,16 @@ Git branch governance follows a GitLab Flow variant: short branches merge into `
210
210
 
211
211
  G7 `SecurityGate` includes a lightweight built-in scan for hardcoded secrets, private keys, disabled TLS verification, `eval`/`Function`, raw HTML injection, dangerous shell commands, shell execution, and empty `catch` blocks. Compatibility mode blocks CRITICAL findings; strict mode also blocks HIGH findings.
212
212
 
213
+ ## Skill and Tool Governance
214
+
215
+ Skill Radar recommends skills, MCP servers, browser automation, desktop automation, planning workflows, memory providers, and external CLIs by task intent. It returns confidence, safety level, evidence requirements, attribution metadata, and fallback behavior.
216
+
217
+ Third-party skills stay review-required until source, scripts, license, attribution, and pinned revision are checked. `OthmanAdi/planning-with-files` (MIT), `rohitg00/agentmemory` (Apache-2.0), and `garrytan/gbrain` (MIT) have explicit attribution records; other external skills, MCP servers, CLIs, adapters, and discovery candidates are tracked in the [External Reference Inventory](docs/EXTERNAL_REFERENCES.md) with unknown licenses kept `review-required`. SCALE records them as governed references, optional integrations, or adapted concepts; it does not vendor upstream source code.
218
+
219
+ Memory is provider-routed rather than expanded as a built-in Memory OS. Agents can use `scale memory provider status` and `scale memory provider recall` to select `agentmemory`, `gbrain`, or `scale-local` under policy; external providers are read-only by default and fall back to local evidence-backed memory.
220
+
221
+ See [Skill Radar](docs/SKILL_RADAR.md), [Third-Party Skills](docs/THIRD_PARTY_SKILLS.md), and [External Reference Inventory](docs/EXTERNAL_REFERENCES.md).
222
+
213
223
  ## Supported Platforms
214
224
 
215
225
  SCALE Engine includes adapters for 16 agent platforms, including Claude Code, Codex CLI, OpenCode, Cursor, Gemini CLI, OpenClaw, Hermes, Trae, WorkBuddy, VS Code Copilot CLI, QCoder, DeepSeek-TUI, Aider, Windsurf, Kimi, and Doubao.
package/README.md CHANGED
@@ -1,61 +1,61 @@
1
1
  <p align="center">
2
- <img src="https://img.shields.io/badge/version-0.23.0-orange?style=flat-square" alt="version" />
2
+ <img src="https://img.shields.io/badge/version-0.23.0-orange?style=flat-square" alt="version" />
3
3
  <img src="https://img.shields.io/badge/platforms-16-blue?style=flat-square" alt="platforms" />
4
4
  <img src="https://img.shields.io/badge/agents-12-blue?style=flat-square" alt="agents" />
5
5
  <img src="https://img.shields.io/badge/workflows-10-green?style=flat-square" alt="workflows" />
6
6
  <img src="https://img.shields.io/badge/detectors-19-red?style=flat-square" alt="detectors" />
7
7
  <img src="https://img.shields.io/badge/tests-verified-brightgreen?style=flat-square" alt="tests" />
8
- <img src="https://img.shields.io/badge/npm-0.23.0-cb3837?style=flat-square&logo=npm" alt="npm" />
9
- </p>
10
-
11
- # SCALE Engine v0.23.0
8
+ <img src="https://img.shields.io/badge/npm-0.23.0-cb3837?style=flat-square&logo=npm" alt="npm" />
9
+ </p>
10
+
11
+ # SCALE Engine v0.23.0
12
12
 
13
13
  SCALE Engine 让 AI Agent 不再只靠“自觉”遵守工程规范。它把探索、规划、实现、验证、评审、发版这些要求变成可执行的命令、门禁和证据文件,让人类可以看见 Agent 做了什么、跳过了什么、为什么能交付或不能交付。
14
14
 
15
- 源码仓库:https://github.com/hongmaple0820/scale-engine
16
- 国内镜像:https://gitee.com/hongmaple/scale-engine
17
- npm:https://www.npmjs.com/package/@hongmaple0820/scale-engine
18
- 语言:[中文](README.md) | [English](README.en.md)
19
-
20
- ## 先怎么学
21
-
22
- 如果你第一次接触 SCALE,不要从完整命令列表开始读。按这个顺序更容易掌握:
23
-
24
- | 目标 | 入口 | 你应该学会什么 |
25
- | --- | --- | --- |
26
- | 先跑起来 | [3 分钟快速开始](docs/start/quickstart.md) | 安装 CLI、初始化治理文件、运行 preflight |
27
- | 看完整闭环 | [官方 Demo Walkthrough](docs/start/agent-governance-demo.md) | 任务上下文、诊断、TDD、artifact 和验证证据如何串起来 |
28
- | 接入已有项目 | [SCALE 工作流升级指南](docs/start/workflow-upgrade.md) | `init`、`upgrade check/plan/apply`、本地 `make` 包装入口怎么用 |
29
- | 选择治理包 | 本文的 Governance Pack 章节 | 不同项目形态应该选哪个 pack |
30
- | 维护或扩展 SCALE | [docs/README.md](docs/README.md) | 文档地图、内部模块和长期维护资料 |
31
-
32
- 一句话理解:SCALE 不是让 Agent 多写文档,而是让“做了什么、验证了什么、没验证什么”可追踪。
33
-
34
- ## 社区与推广
35
-
36
- SCALE Engine 是一个面向真实工程交付的 Agent 工作流治理项目。欢迎通过源码仓库提交 Issue、PR、场景反馈和治理包改进建议;中文用户也可以关注公众号获取更新、示例和社区入口。
37
-
38
- | 平台 | 链接 | 说明 |
39
- |------|------|------|
40
- | GitHub | [https://github.com/hongmaple0820/scale-engine](https://github.com/hongmaple0820/scale-engine) | 源码、Issues、PR |
41
- | Gitee | [https://gitee.com/hongmaple/scale-engine](https://gitee.com/hongmaple/scale-engine) | 国内镜像与反馈 |
42
- | npm | [https://www.npmjs.com/package/@hongmaple0820/scale-engine](https://www.npmjs.com/package/@hongmaple0820/scale-engine) | CLI 包下载 |
43
-
44
- <p align="center">
45
- <img src="image/wechat-public.jpg" alt="SCALE Engine 微信公众号" width="220" />
46
- </p>
47
-
48
- ## 赞助与支持
49
-
50
- 如果 SCALE Engine 节省了你的工程治理时间,或帮助你的团队把 AI Agent 工作流落到可验证、可复盘、可发版的闭环里,欢迎自愿赞助。赞助用于持续维护、示例项目、文档、测试矩阵和社区支持,不构成商业支持承诺,也不会改变 Issue 或 PR 的处理优先级。
51
-
52
- <p align="center">
53
- <img src="image/wxPay.jpg" alt="微信赞助" width="220" />
54
- &nbsp;&nbsp;
55
- <img src="image/zfb.jpg" alt="支付宝赞助" width="220" />
56
- </p>
57
-
58
- ## 它解决什么问题
15
+ 源码仓库:https://github.com/hongmaple0820/scale-engine
16
+ 国内镜像:https://gitee.com/hongmaple/scale-engine
17
+ npm:https://www.npmjs.com/package/@hongmaple0820/scale-engine
18
+ 语言:[中文](README.md) | [English](README.en.md)
19
+
20
+ ## 先怎么学
21
+
22
+ 如果你第一次接触 SCALE,不要从完整命令列表开始读。按这个顺序更容易掌握:
23
+
24
+ | 目标 | 入口 | 你应该学会什么 |
25
+ | --- | --- | --- |
26
+ | 先跑起来 | [3 分钟快速开始](docs/start/quickstart.md) | 安装 CLI、初始化治理文件、运行 preflight |
27
+ | 看完整闭环 | [官方 Demo Walkthrough](docs/start/agent-governance-demo.md) | 任务上下文、诊断、TDD、artifact 和验证证据如何串起来 |
28
+ | 接入已有项目 | [SCALE 工作流升级指南](docs/start/workflow-upgrade.md) | `init`、`upgrade check/plan/apply`、本地 `make` 包装入口怎么用 |
29
+ | 选择治理包 | 本文的 Governance Pack 章节 | 不同项目形态应该选哪个 pack |
30
+ | 维护或扩展 SCALE | [docs/README.md](docs/README.md) | 文档地图、内部模块和长期维护资料 |
31
+
32
+ 一句话理解:SCALE 不是让 Agent 多写文档,而是让“做了什么、验证了什么、没验证什么”可追踪。
33
+
34
+ ## 社区与推广
35
+
36
+ SCALE Engine 是一个面向真实工程交付的 Agent 工作流治理项目。欢迎通过源码仓库提交 Issue、PR、场景反馈和治理包改进建议;中文用户也可以关注公众号获取更新、示例和社区入口。
37
+
38
+ | 平台 | 链接 | 说明 |
39
+ |------|------|------|
40
+ | GitHub | [https://github.com/hongmaple0820/scale-engine](https://github.com/hongmaple0820/scale-engine) | 源码、Issues、PR |
41
+ | Gitee | [https://gitee.com/hongmaple/scale-engine](https://gitee.com/hongmaple/scale-engine) | 国内镜像与反馈 |
42
+ | npm | [https://www.npmjs.com/package/@hongmaple0820/scale-engine](https://www.npmjs.com/package/@hongmaple0820/scale-engine) | CLI 包下载 |
43
+
44
+ <p align="center">
45
+ <img src="image/wechat-public.jpg" alt="SCALE Engine 微信公众号" width="220" />
46
+ </p>
47
+
48
+ ## 赞助与支持
49
+
50
+ 如果 SCALE Engine 节省了你的工程治理时间,或帮助你的团队把 AI Agent 工作流落到可验证、可复盘、可发版的闭环里,欢迎自愿赞助。赞助用于持续维护、示例项目、文档、测试矩阵和社区支持,不构成商业支持承诺,也不会改变 Issue 或 PR 的处理优先级。
51
+
52
+ <p align="center">
53
+ <img src="image/wxPay.jpg" alt="微信赞助" width="220" />
54
+ &nbsp;&nbsp;
55
+ <img src="image/zfb.jpg" alt="支付宝赞助" width="220" />
56
+ </p>
57
+
58
+ ## 它解决什么问题
59
59
 
60
60
  AI 编码真正难的不是“写代码”,而是持续稳定地遵守工程纪律:
61
61
 
@@ -150,11 +150,11 @@ scale skill outdated --dir .
150
150
  - `scale tools outdated` 和 `scale skill outdated` 只列出更新面、来源、信任等级和安全策略,不做自动安装。
151
151
  - 第三方社区来源默认人工评审,高权限桌面自动化默认阻断自动升级。
152
152
 
153
- 详细说明见 [升级管理](docs/UPGRADE_MANAGEMENT.md)。
154
-
155
- 新用户和项目维护者可先看 [SCALE workflow upgrade guide](docs/start/workflow-upgrade.md),它把 `scale init --interactive`、`scale upgrade check/plan/apply/rollback` 和仓库本地 `make workflow-upgrade-*` 入口放在一条可执行路径里。
156
-
157
- ## Governance Pack
153
+ 详细说明见 [升级管理](docs/UPGRADE_MANAGEMENT.md)。
154
+
155
+ 新用户和项目维护者可先看 [SCALE workflow upgrade guide](docs/start/workflow-upgrade.md),它把 `scale init --interactive`、`scale upgrade check/plan/apply/rollback` 和仓库本地 `make workflow-upgrade-*` 入口放在一条可执行路径里。
156
+
157
+ ## Governance Pack
158
158
 
159
159
  在已有项目中安装治理工作流:
160
160
 
@@ -318,7 +318,9 @@ scale skill doctor --supply-chain
318
318
 
319
319
  Desktop CUA and external agent CLIs are blocked by default through Tool Policy until deliberately enabled. Third-party skills stay review-required until source, scripts, license, and pinned revision are checked.
320
320
 
321
- See [Skill Radar](docs/SKILL_RADAR.md).
321
+ 新引入或借鉴的社区 skills 必须保留来源、授权、致谢和使用边界。`OthmanAdi/planning-with-files`(MIT)、`rohitg00/agentmemory`(Apache-2.0)和 `garrytan/gbrain`(MIT)已完成明确登记;其他外部 skills、MCP、CLI、适配器和发现候选统一登记在 [External Reference Inventory](docs/EXTERNAL_REFERENCES.md),未知许可证保持 `review-required`。SCALE 目前只做治理登记、可选集成和方法借鉴,不直接 vendoring 上游源码。
322
+
323
+ See [Skill Radar](docs/SKILL_RADAR.md), [Third-Party Skills](docs/THIRD_PARTY_SKILLS.md), and [External Reference Inventory](docs/EXTERNAL_REFERENCES.md).
322
324
 
323
325
  ## Memory Brain
324
326
 
@@ -331,8 +333,12 @@ scale memory query "OAuth callback state design"
331
333
  scale memory contradictions --json
332
334
  scale memory dream --json
333
335
  scale memory promote <candidate-id>
336
+ scale memory provider status --json
337
+ scale memory provider recall "OAuth callback Redis state" --json
334
338
  ```
335
339
 
340
+ Strong memory is now provider-routed instead of expanded as a built-in Memory OS. SCALE treats `agentmemory`, `gbrain`, and `scale-local` as governed providers with read-only external defaults, privacy boundaries, fallback, and evidence records so agents can recall memory autonomously by task.
341
+
336
342
  The point is not to remember everything. The point is to keep useful, reviewed project facts while reporting contradictions instead of silently overwriting them.
337
343
 
338
344
  See [Memory Brain](docs/MEMORY_BRAIN.md).
package/dist/api/cli.js CHANGED
@@ -65,7 +65,7 @@ import { renderGovernanceDashboard } from '../output/GovernanceDashboard.js';
65
65
  import { cleanupWorkspaceLifecycle, inspectWorkspaceLifecycle, } from '../workflow/WorkspaceLifecycle.js';
66
66
  import { inspectWorkspaceSafety } from '../workflow/WorkspaceSafety.js';
67
67
  import { RuntimeEvidenceLedger, SessionLedger, doctorRuntimeEvidence, evaluateFinalReportReadiness, } from '../runtime/index.js';
68
- import { MemoryFabric, MemoryBrain, doctorMemoryFabric, renderContextPackMarkdown, renderMemoryLearningCandidateMarkdown, settleMemoryLearning, } from '../memory/index.js';
68
+ import { MemoryFabric, MemoryBrain, doctorMemoryFabric, renderContextPackMarkdown, renderMemoryLearningCandidateMarkdown, inspectMemoryProviders, recallMemoryProviders, settleMemoryLearning, writeMemoryProvidersConfig, } from '../memory/index.js';
69
69
  import { resolveWorkspaceTopology, workspaceTopologyPath, workspaceTopologyTemplate, } from '../workflow/WorkspaceTopology.js';
70
70
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
71
71
  import { dirname, isAbsolute, join, resolve } from 'node:path';
@@ -4335,6 +4335,97 @@ const memoryImport = defineCommand({
4335
4335
  process.exitCode = 1;
4336
4336
  },
4337
4337
  });
4338
+ const memoryProviderInit = defineCommand({
4339
+ meta: { name: 'init', description: 'Create .scale/memory-providers.json for autonomous memory provider routing' },
4340
+ args: {
4341
+ force: { type: 'boolean', default: false, description: 'Overwrite existing provider configuration' },
4342
+ json: { type: 'boolean', default: false },
4343
+ },
4344
+ run({ args }) {
4345
+ const result = writeMemoryProvidersConfig({
4346
+ projectDir: PROJECT_DIR,
4347
+ scaleDir: SCALE_DIR,
4348
+ force: isTruthyFlag(args.force),
4349
+ });
4350
+ if (args.json) {
4351
+ console.log(JSON.stringify(result, null, 2));
4352
+ return;
4353
+ }
4354
+ console.log(`\nSCALE Memory Provider Config: ${result.path}`);
4355
+ console.log(` ${result.written ? 'written' : 'exists'}`);
4356
+ console.log(` Order: ${result.config.routing.defaultOrder.join(' -> ')}`);
4357
+ },
4358
+ });
4359
+ const memoryProviderStatus = defineCommand({
4360
+ meta: { name: 'status', description: 'Inspect memory provider routing, availability, and safety boundaries' },
4361
+ args: {
4362
+ json: { type: 'boolean', default: false },
4363
+ },
4364
+ run({ args }) {
4365
+ const report = inspectMemoryProviders({ projectDir: PROJECT_DIR, scaleDir: SCALE_DIR });
4366
+ if (args.json) {
4367
+ console.log(JSON.stringify(report, null, 2));
4368
+ return;
4369
+ }
4370
+ console.log('\nSCALE Memory Providers');
4371
+ console.log(` Config: ${report.configExists ? report.configPath : 'default policy (not written)'}`);
4372
+ console.log(` Mode: ${report.routing.mode}`);
4373
+ for (const provider of report.providers) {
4374
+ console.log(` [${provider.available ? 'AVAILABLE' : 'SKIP'}] ${provider.id} (${provider.kind})`);
4375
+ console.log(` safety: ${provider.safetyLevel}; write: ${provider.writeMode}; reason: ${provider.reason}`);
4376
+ }
4377
+ for (const warning of report.warnings)
4378
+ console.log(` [WARN] ${warning}`);
4379
+ },
4380
+ });
4381
+ const memoryProviderRecall = defineCommand({
4382
+ meta: { name: 'recall', description: 'Recall relevant memory through provider routing with local fallback' },
4383
+ args: {
4384
+ query: { type: 'positional', required: true, description: 'Memory query or task context' },
4385
+ task: { type: 'string', description: 'Optional task text for provider routing context' },
4386
+ files: { type: 'string', description: 'Comma-separated files or modules in scope' },
4387
+ provider: { type: 'string', description: 'Force one provider id, such as agentmemory, gbrain, or scale-local' },
4388
+ limit: { type: 'string', default: '5', description: 'Maximum results' },
4389
+ 'include-candidates': { type: 'boolean', default: false, description: 'Allow scale-local candidate memory fallback' },
4390
+ json: { type: 'boolean', default: false },
4391
+ },
4392
+ async run({ args }) {
4393
+ const limit = Number.parseInt(String(args.limit ?? '5'), 10);
4394
+ const report = await recallMemoryProviders({
4395
+ projectDir: PROJECT_DIR,
4396
+ scaleDir: SCALE_DIR,
4397
+ query: String(args.query),
4398
+ task: args.task ? String(args.task) : undefined,
4399
+ files: parseCommaList(args.files),
4400
+ provider: args.provider ? String(args.provider) : undefined,
4401
+ limit: Number.isFinite(limit) && limit > 0 ? limit : 5,
4402
+ includeCandidates: isTruthyFlag(args['include-candidates']),
4403
+ });
4404
+ if (args.json) {
4405
+ console.log(JSON.stringify(report, null, 2));
4406
+ return;
4407
+ }
4408
+ console.log('\nSCALE Memory Provider Recall');
4409
+ console.log(` Query: ${report.query}`);
4410
+ console.log(` Providers: ${report.providerOrder.join(' -> ')}`);
4411
+ console.log(` Results: ${report.items.length}`);
4412
+ for (const item of report.items) {
4413
+ console.log(` [${item.provider}] ${item.id}: ${item.title}`);
4414
+ console.log(` score: ${item.score}; confidence: ${item.confidence}; evidence: ${item.evidencePaths.join(', ') || 'none'}`);
4415
+ console.log(` ${item.summary}`);
4416
+ }
4417
+ for (const warning of report.warnings)
4418
+ console.log(` [WARN] ${warning}`);
4419
+ },
4420
+ });
4421
+ const memoryProvider = defineCommand({
4422
+ meta: { name: 'provider', description: 'Manage autonomous memory provider routing for agentmemory, gbrain, and scale-local' },
4423
+ subCommands: {
4424
+ init: memoryProviderInit,
4425
+ status: memoryProviderStatus,
4426
+ recall: memoryProviderRecall,
4427
+ },
4428
+ });
4338
4429
  const memory = defineCommand({
4339
4430
  meta: { name: 'memory', description: 'Memory Fabric context packs and project-scoped long-term memory' },
4340
4431
  subCommands: {
@@ -4349,6 +4440,7 @@ const memory = defineCommand({
4349
4440
  promote: memoryPromote,
4350
4441
  export: memoryExport,
4351
4442
  import: memoryImport,
4443
+ provider: memoryProvider,
4352
4444
  },
4353
4445
  });
4354
4446
  // ============================================================================