0xray 3.4.3 → 3.4.4
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/.xray/config.json +1 -0
- package/AGENTS-consumer.md +1 -1
- package/AGENTS.md +1 -1
- package/README.md +1 -1
- package/SKILLS.md +1 -1
- package/dist/AGENTS.md +1 -1
- package/dist/CHANGELOG.md +7 -0
- package/dist/README.md +1 -1
- package/dist/SKILLS.md +1 -1
- package/dist/mcps/researcher-confidence.d.ts +1 -1
- package/dist/mcps/researcher-confidence.js +3 -3
- package/dist/mcps/researcher.server.js +1 -1
- package/package.json +1 -1
- package/scripts/node/version-manager.mjs +1 -7
- package/src/mcps/researcher-confidence.ts +4 -4
- package/src/mcps/researcher.server.ts +1 -1
package/.xray/config.json
CHANGED
package/AGENTS-consumer.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Quick reference for the 0xRay AI orchestration framework (shipped to your project on `npm install 0xray`).
|
|
4
4
|
|
|
5
|
-
**v3.4.
|
|
5
|
+
**v3.4.4** — 7 MCP servers · 45 skills · 68 codex terms · 4 platform bridges
|
|
6
6
|
|
|
7
7
|
## Postinstall (automatic)
|
|
8
8
|
|
package/AGENTS.md
CHANGED
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# xray — MCP-Centric AI Governance OS
|
|
2
2
|
|
|
3
|
-
**v3.4.
|
|
3
|
+
**v3.4.4** — 42 agents · 45 skills · 7 MCP servers · 68 codex terms · 3,226 tests
|
|
4
4
|
|
|
5
5
|
xray is the pure v2 three-subsystem AI orchestration framework — **MCP-centric**, governed by Dynamo, and autonomous via thinDispatch. Consumer `npm install 0xray` auto-wires all four platform bridges and seven MCP servers with zero manual config.
|
|
6
6
|
|
package/SKILLS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 0xray Skills
|
|
2
2
|
|
|
3
|
-
**v3.4.
|
|
3
|
+
**v3.4.4** — **45 skills** · invoked via `xray-skills` MCP · synced on postinstall
|
|
4
4
|
|
|
5
5
|
xray ships 45 knowledge skills (`src/skills/<name>/SKILL.md`) across the full software lifecycle. Lead-dev operating model lives in **`orchestrator`** skill + `multi_agent_orchestration.lead_dev_mode` in features.json. Skills load on demand via the **xray-skills** MCP server (`npx -y 0xray mcp skills`), agent `@mentions`, or platform skill directories after postinstall.
|
|
6
6
|
|
package/dist/AGENTS.md
CHANGED
package/dist/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Conventional Commits](https://www.conventionalcommits.org/).
|
|
6
6
|
|
|
7
|
+
## [3.4.4] - 2026-06-18
|
|
8
|
+
|
|
9
|
+
### 🐛 Bug Fixes
|
|
10
|
+
- **Researcher MCP trap routing** — `analyze_proposal` awaits `getMemoryRoutingProvider()` so MEMORY_ROUTING is not silently omitted when the MCP subprocess starts (P0.5 e2e)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
7
14
|
## [3.4.3] - 2026-06-18
|
|
8
15
|
|
|
9
16
|
### ✨ Features
|
package/dist/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# xray — MCP-Centric AI Governance OS
|
|
2
2
|
|
|
3
|
-
**v3.4.
|
|
3
|
+
**v3.4.3** — 42 agents · 45 skills · 7 MCP servers · 68 codex terms · 3,226 tests
|
|
4
4
|
|
|
5
5
|
xray is the pure v2 three-subsystem AI orchestration framework — **MCP-centric**, governed by Dynamo, and autonomous via thinDispatch. Consumer `npm install 0xray` auto-wires all four platform bridges and seven MCP servers with zero manual config.
|
|
6
6
|
|
package/dist/SKILLS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 0xray Skills
|
|
2
2
|
|
|
3
|
-
**v3.4.
|
|
3
|
+
**v3.4.3** — **45 skills** · invoked via `xray-skills` MCP · synced on postinstall
|
|
4
4
|
|
|
5
5
|
xray ships 45 knowledge skills (`src/skills/<name>/SKILL.md`) across the full software lifecycle. Lead-dev operating model lives in **`orchestrator`** skill + `multi_agent_orchestration.lead_dev_mode` in features.json. Skills load on demand via the **xray-skills** MCP server (`npx -y 0xray mcp skills`), agent `@mentions`, or platform skill directories after postinstall.
|
|
6
6
|
|
|
@@ -16,6 +16,6 @@ export declare function resolveResearcherMemoryContext(input: {
|
|
|
16
16
|
proposalTitle?: string;
|
|
17
17
|
proposalDescription?: string;
|
|
18
18
|
proposalType?: string;
|
|
19
|
-
}): ResearcherMemoryContext | null
|
|
19
|
+
}): Promise<ResearcherMemoryContext | null>;
|
|
20
20
|
export declare function buildMemoryRoutingEvidence(context: ResearcherMemoryContext): string[];
|
|
21
21
|
export declare function formatMemoryRoutingBlock(context: ResearcherMemoryContext): string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { frameworkLogger } from '../core/framework-logger.js';
|
|
2
|
-
import {
|
|
2
|
+
import { getMemoryRoutingProvider } from '../memory-routing/index.js';
|
|
3
3
|
const TRAP_LANGUAGE = /TYPE:\s*ontological-trap|ontological[- ]trap/i;
|
|
4
4
|
const DEFAULT_MIN_CONFIDENCE_GATE = 0.55;
|
|
5
5
|
export function shouldQueryRepertoireConfidence(description, proposalType = '') {
|
|
@@ -17,12 +17,12 @@ function buildTaskText(proposalTitle, proposalDescription, proposalType) {
|
|
|
17
17
|
* Resolve Repertoire task confidence for researcher proposal analysis.
|
|
18
18
|
* Triggered by ontological-trap language or high-confidence primitive matches.
|
|
19
19
|
*/
|
|
20
|
-
export function resolveResearcherMemoryContext(input) {
|
|
20
|
+
export async function resolveResearcherMemoryContext(input) {
|
|
21
21
|
const proposalTitle = input.proposalTitle ?? '';
|
|
22
22
|
const proposalDescription = input.proposalDescription ?? '';
|
|
23
23
|
const proposalType = input.proposalType ?? '';
|
|
24
24
|
const taskText = buildTaskText(proposalTitle, proposalDescription, proposalType);
|
|
25
|
-
const provider =
|
|
25
|
+
const provider = await getMemoryRoutingProvider();
|
|
26
26
|
if (provider.id === 'null' || !provider.getTaskConfidence) {
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
@@ -381,7 +381,7 @@ class XrayLibrarianServer extends XrayKnowledgeSkillBase {
|
|
|
381
381
|
*/
|
|
382
382
|
async analyzeProposal(args) {
|
|
383
383
|
const { proposalTitle = "", proposalDescription = "", evidence = [], proposalType = "" } = args || {};
|
|
384
|
-
const memoryContext = resolveResearcherMemoryContext({
|
|
384
|
+
const memoryContext = await resolveResearcherMemoryContext({
|
|
385
385
|
proposalTitle,
|
|
386
386
|
proposalDescription,
|
|
387
387
|
proposalType,
|
package/package.json
CHANGED
|
@@ -289,12 +289,6 @@ function updateReadme(counts, newVersion) {
|
|
|
289
289
|
`[View all ${counts.agents} agents →](AGENTS.md)`
|
|
290
290
|
);
|
|
291
291
|
|
|
292
|
-
// Update MCP count: "15 MCP servers" or similar patterns
|
|
293
|
-
readme = readme.replace(
|
|
294
|
-
/(\d+)\s+MCPs?/g,
|
|
295
|
-
(match, num) => `${counts.mcps} MCPs`
|
|
296
|
-
);
|
|
297
|
-
|
|
298
292
|
// Update skills count
|
|
299
293
|
readme = readme.replace(
|
|
300
294
|
/(\d+)\s+Skills?/g,
|
|
@@ -383,7 +377,7 @@ function applyAgentCountUpdates(content, counts) {
|
|
|
383
377
|
`xray v2 - ${counts.agents} Agents`
|
|
384
378
|
);
|
|
385
379
|
|
|
386
|
-
agentsMd = agentsMd.replace(/\d+\s+
|
|
380
|
+
agentsMd = agentsMd.replace(/\d+\s+MCP servers/g, `${counts.mcps} MCP servers`);
|
|
387
381
|
agentsMd = agentsMd.replace(/\d+\s+Skills?/g, `${counts.skills} Skills`);
|
|
388
382
|
|
|
389
383
|
return agentsMd;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { frameworkLogger } from '../core/framework-logger.js';
|
|
2
|
-
import {
|
|
2
|
+
import { getMemoryRoutingProvider } from '../memory-routing/index.js';
|
|
3
3
|
import type {
|
|
4
4
|
MemoryRoutingContext,
|
|
5
5
|
MemoryTaskConfidence,
|
|
@@ -44,17 +44,17 @@ function buildTaskText(
|
|
|
44
44
|
* Resolve Repertoire task confidence for researcher proposal analysis.
|
|
45
45
|
* Triggered by ontological-trap language or high-confidence primitive matches.
|
|
46
46
|
*/
|
|
47
|
-
export function resolveResearcherMemoryContext(input: {
|
|
47
|
+
export async function resolveResearcherMemoryContext(input: {
|
|
48
48
|
proposalTitle?: string;
|
|
49
49
|
proposalDescription?: string;
|
|
50
50
|
proposalType?: string;
|
|
51
|
-
}): ResearcherMemoryContext | null {
|
|
51
|
+
}): Promise<ResearcherMemoryContext | null> {
|
|
52
52
|
const proposalTitle = input.proposalTitle ?? '';
|
|
53
53
|
const proposalDescription = input.proposalDescription ?? '';
|
|
54
54
|
const proposalType = input.proposalType ?? '';
|
|
55
55
|
const taskText = buildTaskText(proposalTitle, proposalDescription, proposalType);
|
|
56
56
|
|
|
57
|
-
const provider =
|
|
57
|
+
const provider = await getMemoryRoutingProvider();
|
|
58
58
|
if (provider.id === 'null' || !provider.getTaskConfidence) {
|
|
59
59
|
return null;
|
|
60
60
|
}
|
|
@@ -461,7 +461,7 @@ class XrayLibrarianServer extends XrayKnowledgeSkillBase {
|
|
|
461
461
|
async analyzeProposal(args: AnalyzeProposalArgs): Promise<CallToolResult> {
|
|
462
462
|
const { proposalTitle = "", proposalDescription = "", evidence = [], proposalType = "" } = args || {};
|
|
463
463
|
|
|
464
|
-
const memoryContext = resolveResearcherMemoryContext({
|
|
464
|
+
const memoryContext = await resolveResearcherMemoryContext({
|
|
465
465
|
proposalTitle,
|
|
466
466
|
proposalDescription,
|
|
467
467
|
proposalType,
|