0xray 3.0.8 → 3.0.10
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/.mcp.json +10 -0
- package/.opencode/codex.codex +1 -1
- package/.opencode/commands/dependency-audit.md +3 -3
- package/.opencode/enforcer-config.json +2 -2
- package/.plugin/plugin.json +1 -1
- package/README.md +2 -2
- package/dist/CHANGELOG.md +16 -0
- package/dist/README.md +2 -2
- package/dist/analytics/routing-refiner.js +1 -1
- package/dist/cli/commands/opencode-install.js +5 -0
- package/dist/cli/commands/opencode-install.js.map +1 -1
- package/dist/cli/index.js +4 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/core/boot-orchestrator.js +2 -2
- package/dist/core/config-paths.d.ts +5 -0
- package/dist/core/config-paths.js +15 -6
- package/dist/core/config-paths.js.map +1 -1
- package/dist/core/features-config.js +1 -1
- package/dist/enforcement/loaders/agents-md-validation-loader.js +2 -2
- package/dist/integrations/grok/grok-cli.js +17 -6
- package/dist/integrations/grok/grok-cli.js.map +1 -1
- package/dist/integrations/grok/plugin/0xray/.mcp.json +8 -0
- package/dist/mcps/enforcer-tools.server.js +2 -1
- package/dist/mcps/enforcer-tools.server.js.map +1 -1
- package/dist/mcps/governance.server.js +3 -5
- package/dist/mcps/governance.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +3 -4
- package/dist/mcps/knowledge-skills/skill-invocation.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/tech-writer.server.js +1 -1
- package/dist/mcps/orchestrator/server.js +4 -2
- package/dist/mcps/orchestrator/server.js.map +1 -1
- package/dist/mcps/registry.json +1 -1
- package/dist/processors/implementations/agents-md-validation-processor.js +1 -1
- package/dist/skills/registry.json +1 -1
- package/package.json +1 -2
- package/scripts/node/enforce-agents-md.mjs +2 -2
- package/scripts/node/postinstall.cjs +4 -4
- package/scripts/node/pre-publish-guard.js +1 -1
- package/scripts/node/setup.cjs +10 -0
- package/scripts/node/universal-version-manager.js +7 -7
- package/src/integrations/grok/plugin/0xray/.mcp.json +8 -0
- package/src/mcps/enforcer-tools.server.ts +2 -1
- package/src/mcps/governance.server.ts +3 -4
- package/src/mcps/knowledge-skills/skill-invocation.server.ts +3 -3
- package/src/mcps/knowledge-skills/tech-writer.server.ts +1 -1
- package/src/mcps/orchestrator/server.ts +4 -2
- package/src/mcps/registry.json +1 -1
- package/src/opencode/codex.codex +1 -1
- package/src/opencode/commands/dependency-audit.md +3 -3
- package/src/opencode/enforcer-config.json +2 -2
- package/src/skills/registry.json +1 -1
- package/xray/agents_template.md +34 -94
- package/xray/codex.json +1 -1
- package/xray/config.json +1 -1
- package/xray/features.json +1 -1
- package/xray/integrations.json +3 -3
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
ErrorCode,
|
|
6
6
|
McpError,
|
|
7
7
|
} from "@modelcontextprotocol/sdk/types.js";
|
|
8
|
+
import { realpathSync } from "fs";
|
|
8
9
|
import * as path from "path";
|
|
9
10
|
import { fileURLToPath } from "url";
|
|
10
11
|
import { randomUUID } from "crypto";
|
|
@@ -735,9 +736,8 @@ class SkillInvocationServer extends XrayKnowledgeSkillBase {
|
|
|
735
736
|
}
|
|
736
737
|
}
|
|
737
738
|
|
|
738
|
-
// Start the server if this file is run directly
|
|
739
|
-
|
|
740
|
-
if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
|
|
739
|
+
// Start the server if this file is run directly (realpath handles /var → /private/var on macOS)
|
|
740
|
+
if (process.argv[1] && realpathSync(fileURLToPath(import.meta.url)) === realpathSync(process.argv[1])) {
|
|
741
741
|
// If --port or MCP_PORT is set, use HTTP transport (for Grok CLI compatibility)
|
|
742
742
|
const cliPort = process.argv.find((a) => a.startsWith("--port="))?.split("=")[1];
|
|
743
743
|
const port = parseInt(cliPort ?? process.env.MCP_PORT ?? "", 10);
|
|
@@ -888,7 +888,7 @@ class XrayDocumentationGenerationServer extends XrayKnowledgeSkillBase {
|
|
|
888
888
|
openapi: "3.0.0",
|
|
889
889
|
info: {
|
|
890
890
|
title: "API Documentation",
|
|
891
|
-
version: "3.0.
|
|
891
|
+
version: "3.0.9",
|
|
892
892
|
description: "Generated API documentation",
|
|
893
893
|
},
|
|
894
894
|
servers: [
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* Provides a clean API while hiding internal complexity
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
import { realpathSync } from "fs";
|
|
9
|
+
import { fileURLToPath } from "url";
|
|
8
10
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
9
11
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
10
12
|
import {
|
|
@@ -376,8 +378,8 @@ export function createOrchestratorServer(): OrchestratorServer {
|
|
|
376
378
|
return serverInstance;
|
|
377
379
|
}
|
|
378
380
|
|
|
379
|
-
// Run if called directly
|
|
380
|
-
if (import.meta.url ===
|
|
381
|
+
// Run if called directly (realpath handles /var → /private/var on macOS)
|
|
382
|
+
if (process.argv[1] && realpathSync(fileURLToPath(import.meta.url)) === realpathSync(process.argv[1])) {
|
|
381
383
|
const server = createOrchestratorServer();
|
|
382
384
|
server.start().catch((error) => {
|
|
383
385
|
frameworkLogger.log('orchestrator.server', 'fatal-error', 'error', {
|
package/src/mcps/registry.json
CHANGED
package/src/opencode/codex.codex
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.0.
|
|
2
|
+
"version": "3.0.9",
|
|
3
3
|
"terms": [
|
|
4
4
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68
|
|
5
5
|
],
|
|
@@ -69,7 +69,7 @@ Comprehensive dependency analysis and security audit for all project dependencie
|
|
|
69
69
|
"vulnerabilities": [
|
|
70
70
|
{
|
|
71
71
|
"package": "lodash",
|
|
72
|
-
"version": "3.0.
|
|
72
|
+
"version": "3.0.9",
|
|
73
73
|
"severity": "high",
|
|
74
74
|
"cve": "CVE-2021-23337",
|
|
75
75
|
"description": "Command injection vulnerability"
|
|
@@ -85,14 +85,14 @@ Security-focused format for CI/CD integration:
|
|
|
85
85
|
|
|
86
86
|
```json
|
|
87
87
|
{
|
|
88
|
-
"version": "3.0.
|
|
88
|
+
"version": "3.0.9",
|
|
89
89
|
"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
|
|
90
90
|
"runs": [
|
|
91
91
|
{
|
|
92
92
|
"tool": {
|
|
93
93
|
"driver": {
|
|
94
94
|
"name": "Dependency Audit",
|
|
95
|
-
"version": "3.0.
|
|
95
|
+
"version": "3.0.9"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"results": [...]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"framework": "xray 3.0",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.9",
|
|
4
4
|
"description": "Codex-compliant framework configuration for Credible UI project",
|
|
5
5
|
"thresholds": {
|
|
6
6
|
"bundleSize": {
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
}
|
|
221
221
|
},
|
|
222
222
|
"codex": {
|
|
223
|
-
"version": "3.0.
|
|
223
|
+
"version": "3.0.9",
|
|
224
224
|
"terms": [
|
|
225
225
|
1,
|
|
226
226
|
2,
|
package/src/skills/registry.json
CHANGED
package/xray/agents_template.md
CHANGED
|
@@ -1,109 +1,49 @@
|
|
|
1
|
-
#
|
|
1
|
+
# AGENTS.md — 0xRay Consumer Template
|
|
2
2
|
|
|
3
|
-
**
|
|
4
|
-
**
|
|
5
|
-
**Last Updated**: 2026-03-23
|
|
6
|
-
**Purpose**: Systematic error prevention and production-ready AI-assisted development
|
|
3
|
+
**Version**: 3.0.9
|
|
4
|
+
**Updated**: 2026-06-13
|
|
7
5
|
|
|
8
|
-
##
|
|
6
|
+
## What is 0xRay?
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
ALWAYS read the ENTIRE file using the `read` tool before ANY edit, refactor, or write.
|
|
12
|
-
Understand complete structure, imports, dependencies, and context.
|
|
13
|
-
Partial/contextual edits are strictly forbidden.
|
|
8
|
+
0xRay provides intelligent multi-agent orchestration with automatic delegation and Codex compliance validation under the pure three-subsystem model (Inference + External Governance via Dynamo + Autonomous Engine via thinDispatch 7-flow in MCP orchestrator). Agents operate via YML surfaces and MCP skill servers.
|
|
14
9
|
|
|
15
|
-
|
|
16
|
-
After every edit/write: use `read` to confirm the exact changes are present.
|
|
17
|
-
Check for regressions and unintended modifications.
|
|
18
|
-
NEVER declare success without observable verification.
|
|
10
|
+
## Available MCP Servers
|
|
19
11
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
| Server | Purpose |
|
|
13
|
+
|--------|---------|
|
|
14
|
+
| `xray-enforcer` | Codex compliance & error prevention |
|
|
15
|
+
| `xray-governance` | Proposal governance, codex snapshot |
|
|
16
|
+
| `xray-orchestrator` | thinDispatch 7-flow delegation routing |
|
|
17
|
+
| `xray-skills` | Skill invocation (code-review, security-audit, researcher, etc.) |
|
|
25
18
|
|
|
26
|
-
|
|
27
|
-
Only report "completed", "edited", or "fixed" after verification steps confirm success.
|
|
28
|
-
Prohibited: assuming success, subjective "looks correct", skipping checks for "trivial" changes.
|
|
19
|
+
## CLI Commands
|
|
29
20
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
21
|
+
```
|
|
22
|
+
npx 0xray setup Full framework configuration
|
|
23
|
+
npx 0xray validate Run Codex compliance validation
|
|
24
|
+
npx 0xray status Show framework status
|
|
25
|
+
npx 0xray install <mcp> Install MCP server (groks)
|
|
26
|
+
```
|
|
33
27
|
|
|
34
|
-
|
|
35
|
-
Resolve all errors before continuing (90%+ runtime prevention target).
|
|
36
|
-
Every loop/async must have clear termination/timeout.
|
|
28
|
+
## Governance
|
|
37
29
|
|
|
38
|
-
|
|
39
|
-
No `any`, `@ts-ignore`. Prefer immutable patterns and early returns/guards.
|
|
30
|
+
All actions are governed by the Universal Development Codex via Dynamo (External Governance SSOT). Governance precedes action.
|
|
40
31
|
|
|
41
|
-
|
|
42
|
-
No duplication. No unnecessary features. One responsibility per module/function.
|
|
32
|
+
## Logging
|
|
43
33
|
|
|
44
|
-
|
|
45
|
-
>85% behavioral coverage target. Respect bundle <2MB, FCP <2s budgets.
|
|
34
|
+
Use `fwLogger` / `frameworkLogger` structured logging only (never `console.*`). Logs go to `logs/framework/activity.log` + `.opencode/logs/`.
|
|
46
35
|
|
|
47
|
-
|
|
48
|
-
Validate/sanitize all inputs. Security by design.
|
|
36
|
+
## Architecture
|
|
49
37
|
|
|
50
|
-
|
|
38
|
+
- **Inference**: Session capture, pattern accumulation, governance triggers
|
|
39
|
+
- **External Governance**: Dynamo Solar SSOT via codex.json
|
|
40
|
+
- **Autonomous Engine**: thinDispatch 7-flow in MCP orchestrator
|
|
51
41
|
|
|
52
|
-
|
|
53
|
-
2. No patches/stubs/bridge code
|
|
54
|
-
3. Avoid over-engineering
|
|
55
|
-
4. Fit-for-purpose prod-level code
|
|
56
|
-
5. Surgical root-cause fixes
|
|
57
|
-
6. Batched introspection cycles
|
|
58
|
-
7. Resolve all errors (90% prevention)
|
|
59
|
-
8. Prevent infinite loops/timeouts
|
|
60
|
-
9. Shared global state / single source of truth
|
|
61
|
-
10. Type safety first (no `any`)
|
|
62
|
-
11. Early returns & guard clauses
|
|
63
|
-
12. Error boundaries & graceful degradation
|
|
64
|
-
13. Immutability preferred
|
|
65
|
-
14. Separation of concerns
|
|
66
|
-
15. DRY – eliminate duplication
|
|
67
|
-
16. YAGNI – no speculative features
|
|
68
|
-
17. Meaningful, self-documenting names
|
|
69
|
-
18. Small, focused functions (<30 lines ideal)
|
|
70
|
-
19. Consistent style (linter enforced)
|
|
71
|
-
20. Test coverage >85% (behavioral focus)
|
|
42
|
+
## Complexity Routing
|
|
72
43
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
|
76
|
-
|
|
77
|
-
|
|
|
78
|
-
|
|
|
79
|
-
| architect | Design & decisions | High | read, grep, lsp_*, background_task | Expert priority |
|
|
80
|
-
| bug-triage-specialist | Error investigation & fixes | Debug | read, grep, ast_grep_* | Majority vote |
|
|
81
|
-
| code-reviewer | Quality & standards | Changes | read, grep, lsp_diagnostics | Expert priority |
|
|
82
|
-
| security-auditor | Vulnerabilities & compliance | Security | read, grep, grep_app_searchGitHub | Block critical |
|
|
83
|
-
| refactorer | Debt & consolidation | Refactor | read, grep, lsp_rename, ast_grep_* | Majority vote |
|
|
84
|
-
| testing-lead | Testing strategy & coverage | Tests | read, grep, lsp_* | Expert priority |
|
|
85
|
-
| storyteller | Narrative deep reflections | Narrative | read, grep, write | Expert priority |
|
|
86
|
-
| researcher | Codebase exploration | Research | read, grep, codesearch, websearch | Expert priority |
|
|
87
|
-
|
|
88
|
-
## Complexity Routing Summary
|
|
89
|
-
|
|
90
|
-
Score = (files×2 + change/10 + deps×3 + duration/10) × operation_weight × risk_mult
|
|
91
|
-
- Operation weights: debug 2.0, refactor 1.8, analyze 1.5, modify 1.2, others 1.0
|
|
92
|
-
- Risk multipliers: critical 1.6, high 1.3, medium 1.0, low 0.8
|
|
93
|
-
Thresholds:
|
|
94
|
-
- ≤15 → single agent
|
|
95
|
-
- 16–50 → multi-agent possible
|
|
96
|
-
- 51+ → orchestrator-led
|
|
97
|
-
|
|
98
|
-
## Operational Guidelines
|
|
99
|
-
|
|
100
|
-
- Evaluate complexity before execution
|
|
101
|
-
- Always verify: read full file → apply change → read again → confirm no regressions
|
|
102
|
-
- Use `call_omo_agent` or `task()` for delegation
|
|
103
|
-
- Log JobId for traceability
|
|
104
|
-
- Enforce codex compliance on every operation
|
|
105
|
-
|
|
106
|
-
**Codex Enforcement**: All actions validated against these rules. Violations block progress until resolved.
|
|
107
|
-
**Target**: 99.6% systematic error prevention through verification-first behavior.
|
|
108
|
-
|
|
109
|
-
(End of file - total 105 lines)
|
|
44
|
+
| Complexity | Score | Strategy |
|
|
45
|
+
|-----------|-------|----------|
|
|
46
|
+
| Simple | ≤15 | Single agent |
|
|
47
|
+
| Moderate | ≤25 | Single agent with tools |
|
|
48
|
+
| Complex | ≤50 | Multi-agent coordination |
|
|
49
|
+
| Enterprise | >50 | Orchestrator-led team |
|
package/xray/codex.json
CHANGED
package/xray/config.json
CHANGED
package/xray/features.json
CHANGED
package/xray/integrations.json
CHANGED
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"openclaw": {
|
|
5
5
|
"enabled": false,
|
|
6
6
|
"type": "external-service",
|
|
7
|
-
"version": "3.0.
|
|
7
|
+
"version": "3.0.9",
|
|
8
8
|
"config": {}
|
|
9
9
|
},
|
|
10
10
|
"python-bridge": {
|
|
11
11
|
"enabled": false,
|
|
12
12
|
"type": "protocol-bridge",
|
|
13
|
-
"version": "3.0.
|
|
13
|
+
"version": "3.0.9",
|
|
14
14
|
"config": {}
|
|
15
15
|
},
|
|
16
16
|
"react": {
|
|
17
17
|
"enabled": false,
|
|
18
18
|
"type": "framework-adapter",
|
|
19
|
-
"version": "3.0.
|
|
19
|
+
"version": "3.0.9",
|
|
20
20
|
"config": {}
|
|
21
21
|
}
|
|
22
22
|
}
|