{
  "schemaVersion": "nodedc.ops-mcp-workspace-tools.release.v1",
  "release": "20260718-001",
  "components": {
    "tasker": {
      "artifactId": "tasker-ops-mcp-capabilities-20260718-001",
      "files": [
        "plane-src/apps/api/plane/authentication/views/nodedc_agent_adapter.py",
        "plane-src/apps/api/plane/urls.py",
        "plane-src/apps/web/core/components/workspace/settings/codex-agent-api-settings.tsx"
      ],
      "predecessors": {
        "plane-src/apps/api/plane/authentication/views/nodedc_agent_adapter.py": "a7653f4b5d3eff905de6cac0013e44a492a4b38fc075af5330e928a367529581",
        "plane-src/apps/api/plane/urls.py": "413c33527ea564735b38ce6a5531aaa93018c1dba3d09f6902879f2b98920d85",
        "plane-src/apps/web/core/components/workspace/settings/codex-agent-api-settings.tsx": "fdee183d332327f72f000429f3ad3f780937aea72b7c03a47deaba6b4cc2a050"
      },
      "newPaths": []
    },
    "ops-agents": {
      "artifactId": "ops-agents-workspace-tools-ontology-20260718-001",
      "files": [
        "README.md",
        "docker-compose.synology.yml",
        "docs/ARCHITECTURE.md",
        "docs/MCP_TOOLS_CONTRACT.md",
        "docs/TASKER_API_AUDIT.md",
        "docs/THREAT_MODEL.md",
        "migrations/006_agent_credential_purpose.sql",
        "src/app.ts",
        "src/assets/codex-npm/README.md",
        "src/assets/codex-npm/bin/nodedc-ops-codex.mjs",
        "src/assets/codex-npm/package.json",
        "src/config.ts",
        "src/domain/scopes.ts",
        "src/mcp/tool-runtime.ts",
        "src/repositories/agents.ts",
        "src/routes/agents.ts",
        "src/routes/ontology.ts",
        "src/routes/tools.ts",
        "src/security/agent-access.ts",
        "src/tasker/client.ts"
      ],
      "predecessors": {
        "README.md": "e01239462fe92330fe3532abe4dd8f566e8ff3d47584611723ae1689dec3e7f9",
        "docker-compose.synology.yml": "944034b86fd5b22acea4314c9217d7e12febee5cd757365c32ebbcaccc64f3a8",
        "docs/ARCHITECTURE.md": "c2db9552eb8324b429b8d87ffdd7bb527b9b155f9763ad5f8e3629b5c7c8cdcf",
        "docs/MCP_TOOLS_CONTRACT.md": "6699716ede1fab93216c4c54a52c2a834f4b4f53cae62e5e3ed5bb6d0c5fa854",
        "docs/TASKER_API_AUDIT.md": "c8febffb41f2fb4e8d0edab9eb0b9f23419aafdfcc676e7976f52a9dfc6075a4",
        "docs/THREAT_MODEL.md": "b7fb71693e25a8ab84db1e811f95858aafbccea6e6ad2eca8b597b3563a83657",
        "src/app.ts": "4ebeae1ee45447272c4817667a403f0ed9addc6ff7f27af23ebadbb451a3e17b",
        "src/assets/codex-npm/README.md": "cc4a7c6558570b0dd93e8a362fc91282a351e71afad161ec44c72473d72490bc",
        "src/assets/codex-npm/bin/nodedc-ops-codex.mjs": "1aee52f7b748eeccee5fc9e8cea511b60ced879c51fe138e0f820181ee85324f",
        "src/assets/codex-npm/package.json": "300a88a05265c68098bedda6b60ed9e9cd0d198520bf1eddaa3a1b2679bed2ea",
        "src/config.ts": "0b65404fa52c23b6fbc628b8641f04213ed57698c8b0192daf9741ed98e508cc",
        "src/domain/scopes.ts": "85d9400171019cbe10dd4a50959df4952a941f16d0657006d2402b7a9e126672",
        "src/mcp/tool-runtime.ts": "fac6e5596a1481cdaf8c7b5d275758eb440fc54d2e938fe05dda82b018a928a5",
        "src/repositories/agents.ts": "9b76cd605225d9781f04d9f51894560216396b02b09ceefb5783e82ffe663fca",
        "src/routes/agents.ts": "a9115be462b72ac2eeec1e42cd6fc829465cc0f9f16b95a4837fa6bce300876e",
        "src/routes/tools.ts": "05fbb324e83096535bc4ef7e84302e43705bf7568c80381f1f5f15f98bd04ee2",
        "src/security/agent-access.ts": "fc734c49d534de9fdec2f2851741b1dc1ea57724d4d7cf363a0da4e4458002cd",
        "src/tasker/client.ts": "685056d78bb5dbf4c973a6f5505862e0cb012dddeca0ab302580860372e9902e"
      },
      "newPaths": [
        "migrations/006_agent_credential_purpose.sql",
        "src/routes/ontology.ts"
      ]
    }
  }
}
