{"record":{"id":"5cacf88d649b7b13","repo":"ruvnet/ruflo","slug":"policy-administration-requires-an-authenticated-us","errorCode":null,"errorMessage":"policy administration requires an authenticated user context","messagePattern":"policy administration requires an authenticated user context","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/cli/src/mcp-tools/policy-tools.ts","lineNumber":24,"sourceCode":"  PolicyState,\n} from '@claude-flow/security';\nimport type { MCPTool } from './types.js';\nimport {\n  evaluatePolicyRequest,\n  issuePolicyApproval,\n  loadPolicyState,\n  revokePolicyApproval,\n  setPolicyBudget,\n  setPolicyMode,\n  upsertPolicyRule,\n  verifyPolicyLedger,\n} from '../services/policy-runtime.js';\n\nfunction requireAuthenticatedAdministrator(\n  context: Record<string, unknown> | undefined,\n): asserts context is Record<string, unknown> & { principalId: string; principalType: 'user' } {\n  if (context?.principalType !== 'user' || typeof context.principalId !== 'string') {\n    throw new Error('policy administration requires an authenticated user context');\n  }\n}\n\nexport const policyTools: MCPTool[] = [\n  {\n    name: 'policy_evaluate',\n    description: 'Evaluate an agent action against ADR-324 policy and persist a tamper-evident decision receipt. Use when a consequential tool, deployment, network, spend, or promotion action needs authorization.',\n    category: 'security',\n    inputSchema: {\n      type: 'object',\n      properties: {\n        request: { type: 'object', description: 'Policy request containing identity, action, and optional evidence/envelope context' },\n      },\n      required: ['request'],\n    },\n    handler: async (input, context) => evaluatePolicyRequest(\n      input.request as PolicyRequest,\n      typeof context?.projectRoot === 'string' ? context.projectRoot : process.cwd(),","sourceCodeStart":6,"sourceCodeEnd":42,"githubUrl":"https://github.com/ruvnet/ruflo/blob/6b01dc5a687b26b3e218f796de45ec51f8fa9e8c/v3/@claude-flow/cli/src/mcp-tools/policy-tools.ts#L6-L42","documentation":"Error \"policy administration requires an authenticated user context\" thrown in ruvnet/ruflo.","triggerScenarios":"Thrown at v3/@claude-flow/cli/src/mcp-tools/policy-tools.ts:24 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6b01dc5a687b26b3e218f796de45ec51f8fa9e8c","analyzedAt":"2026-08-12T13:20:50.148Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}