0c15d3d0b2
M2 delivers the read-only MCP capability broker gateway and four Day-1 infrastructure adapters (Proxmox, SSH/Linux, GitHub, Gitea). 13 REQs (015-027) all pass. 656 tests green. M1 non-regression verified. MCP spec 2025-06-18 conformance verified (PROTOCOL.md + 7 tests). Defense-in-depth SSH (broker layer 1 + Relay Agent layer 2 + no-shell exec). Two-track LLM smoke (Track A mock-path P0 gate passes). CI: Gitea Actions (.gitea/workflows/ci.yml) with Postgres 16 + RLS verification. Phases shipped: P0 pre-execution v0.1.0 P1 Wave F — MCP gateway v0.1.1 P2 Wave G — Proxmox v0.1.2 P3 Wave H — SSH/Linux v0.1.3 P4 Wave I — Git adapters v0.1.4 P5 Wave J — SSE+smoke+UI v0.1.5 P6 Final — review+ship v0.1.6 ← milestone release ---ci--- phase: 6 milestone: v0.2 status: complete phase_role: final milestone_complete: true requirements: covered: [REQ-015, REQ-016, REQ-017, REQ-018, REQ-019, REQ-020, REQ-021, REQ-022, REQ-023, REQ-024, REQ-025, REQ-026, REQ-027] partial: [] ---/ci---
50 lines
1.6 KiB
JavaScript
50 lines
1.6 KiB
JavaScript
import js from "@eslint/js";
|
|
import tseslint from "typescript-eslint";
|
|
|
|
// ESLint config for the MCP broker package. [G-018, R-008] `@coreci/llm-mock`
|
|
// is a CI-only devDependency and MUST NOT be imported from the broker (prod
|
|
// runtime). The LLM smoke imports the broker + the mock from the test side;
|
|
// the broker itself never depends on the mock.
|
|
export default tseslint.config(
|
|
js.configs.recommended,
|
|
...tseslint.configs.recommended,
|
|
{
|
|
rules: {
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
"@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }],
|
|
},
|
|
},
|
|
// [G-018, R-008] Prod import guard: ban @coreci/llm-mock from the broker.
|
|
{
|
|
files: ["src/**"],
|
|
rules: {
|
|
"no-restricted-imports": [
|
|
"error",
|
|
{
|
|
paths: [
|
|
{
|
|
name: "@coreci/llm-mock",
|
|
message:
|
|
"@coreci/llm-mock is a CI-only devDependency (R-008). The broker must not depend on the mock LLM — the smoke imports the broker, not vice versa.",
|
|
},
|
|
{
|
|
name: "@coreci/llm-mock/server",
|
|
message: "@coreci/llm-mock/server is CI-only (R-008).",
|
|
},
|
|
{
|
|
name: "@coreci/llm-mock/patterns",
|
|
message: "@coreci/llm-mock/patterns is CI-only (R-008).",
|
|
},
|
|
{
|
|
name: "@coreci/llm-mock/retry",
|
|
message: "@coreci/llm-mock/retry is CI-only (R-008).",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
ignores: ["dist/**", "node_modules/**", "coverage/**", "tests/**"],
|
|
},
|
|
); |