import type { RetrievalTaskAction } from './memory.js'; import type { CanonicalTaskIntent } from './task-context-envelope.js'; import type { RetrievalQueryProposalFiltersV1 } from './retrieval-query-proposal.js'; export interface CanonicalTaskIdentity { projectRoot: string; projectId: string; hostId: string; sessionId: string; turnId: string; requestId: string; executionId: string; } export type IntentEvidenceSource = 'slash_command' | 'explicit_action' | 'target_anchor' | 'active_skill' | 'host_semantic' | 'embedding_route' | 'authority_merge' | 'abstention' | 'deterministic_parser'; export interface IntentEvidence { source: IntentEvidenceSource; field: 'intent' | 'action' | 'entity' | 'target' | 'constraint'; value: string; reason: string; confidence: number; } export interface ImmutableTaskIntentArtifact { identity: CanonicalTaskIdentity; version: number; supersedesHash?: string; rawPrompt: string; normalizedPrompt: string; command?: string; slashArgs: string[]; activeSkill?: string; intent: CanonicalTaskIntent; action: RetrievalTaskAction; entities: string[]; targetAnchors: string[]; policyConstraints: string[]; classificationEvidence: IntentEvidence[]; sourceEventIds: string[]; sourceHash: string; artifactHash: string; createdAt: number; } export interface CodeChannelQuery { query: string; targetAnchors: string[]; symbols: string[]; relationKinds: Array<'caller' | 'dependency' | 'resource' | 'route' | 'test' | 'config'>; maxDepth: number; } export interface MemoryChannelQuery { query: string; scopes: Array<'project' | 'skill' | 'session'>; entities: string[]; facets: string[]; requireVerifiedEvidence: boolean; } export interface KnowledgeChannelQuery { query: string; kind: 'api' | 'behavior' | 'migration' | 'error' | 'overview'; entity?: string; symbol?: string; framework?: string; version?: string; minimumAuthority?: number; } export interface RetrievalQueryVariant { kind: 'original' | 'rewrite' | 'expansion'; query: string; queryHash: string; sourceHash: string; producerId: string; producerVersion: string; sourceClaimIds: string[]; proposalId?: string; boundedFilters?: RetrievalQueryProposalFiltersV1; } export type ChannelPlan = { channel: import('./semantic-claims.js').ChannelName; requirement: 'prohibited'; reasonCode: string; evidenceIds: string[]; } | { channel: import('./semantic-claims.js').ChannelName; requirement: 'required' | 'optional'; original: RetrievalQueryVariant; additions: RetrievalQueryVariant[]; typedQuery: Query; reasonCode: string; evidenceIds: string[]; }; export type SemanticDegradationCategory = 'intent_semantic_unavailable' | 'intent_semantic_invalid' | 'memory_semantic_unavailable' | 'memory_semantic_invalid' | 'memory_semantic_rejected' | 'knowledge_source_missing' | 'knowledge_vector_degraded' | 'codegraph_stale' | 'codegraph_ambiguous'; export interface SemanticDegradation { category: SemanticDegradationCategory; reason: string; fallback?: string; } export interface ChannelQueryPlan { identity: CanonicalTaskIdentity; sourceFactsHash: string; planHash: string; code: ChannelPlan; memory: ChannelPlan; knowledge: ChannelPlan; queryProposalIds: string[]; generatedBy: 'deterministic' | 'host_semantic' | 'hybrid'; createdAt: number; } export type SemanticDecisionStatus = 'semantic_ready' | 'semantic_empty' | 'semantic_unavailable' | 'semantic_invalid' | 'semantic_rejected'; export type MemoryLifecycleOperation = 'add' | 'reinforce' | 'supersede' | 'link' | 'hold' | 'retire' | 'none'; export type CanonicalTerminalState = 'open' | 'intent_bound' | 'context_ready' | 'context_degraded' | 'action_required' | 'action_not_required' | 'action_satisfied' | 'action_degraded' | 'action_failed' | 'memory_decided' | 'memory_quarantined' | 'closed' | 'closed_with_degradation' | 'closed_with_retry_work'; export interface CanonicalTerminalTransition { identity: CanonicalTaskIdentity; sequence: number; fromState?: CanonicalTerminalState; toState: CanonicalTerminalState; receiptId: string; sourceReceiptId?: string; reason: string; payload: Record; createdAt: number; } export type SemanticControlLogEventName = 'host.prompt.normalized' | 'intent.artifact.created' | 'intent.artifact.failed' | 'intent.artifact.persisted' | 'query.plan.created' | 'artifact.inventory.completed' | 'canonical.tool.resolved' | 'canonical.action.validated' | 'mcp.action.started' | 'mcp.action.completed' | 'mcp.action.degraded' | 'mcp.action.failed' | 'retrieval.channel.completed' | 'retrieval.attribution.transitioned' | 'codegraph.edge.rejected' | 'context.build.degraded' | 'codegraph.index.completed' | 'codegraph.index.degraded' | 'codegraph.selection.completed' | 'memory.engine.transitioned' | 'memory.search.completed' | 'memory.candidates.gated' | 'memory.write.completed' | 'memory.write.degraded' | 'memory.semantic.refined' | 'memory.maintenance.completed' | 'knowledge.abstained' | 'knowledge.query.executed' | 'knowledge.source.rejected' | 'knowledge.maintenance.completed' | 'knowledge.ingest.queued' | 'knowledge.ingest.transitioned' | 'knowledge.search.completed' | 'knowledge.search.degraded' | 'knowledge.embedding.degraded' | 'memory.semantic.decided' | 'terminal.state.transitioned' | 'terminal.transition.persisted' | 'host.tool.result.reconciled' | 'verification.completed' | 'hook.stop.completed' | 'hook.stop.degraded' | 'hook.runtime.completed' | 'hook.runtime.degraded' | 'hook.session_end.completed' | 'hook.session_end.degraded' | 'session.reconciled' | 'durable.work.transitioned' | 'semantic.route.scored' | 'semantic.resolution.escalated' | 'semantic.resolution.completed' | 'semantic.resolution.abstained' | 'semantic.authority.conflicted' | 'semantic.model.profile_evaluated' | 'runtime.activation.bound' | 'task.aggregate.event_committed' | 'task.snapshot.projected' | 'action.lease.transitioned' | 'knowledge.source.transitioned' | 'embedding.capability.transitioned' | 'provider.execution.completed' | 'provider.execution.rejected' | 'memory.fact_item.committed' | 'memory.fact_item.held' | 'retrieval.session.opened' | 'retrieval.fusion.completed' | 'retrieval.cycle.completed' | 'retrieval.cycle.stopped' | 'domain.action.planned' | 'domain.action.conditional' | 'domain.action.abstained' | 'domain.action.conflicted' | 'retrieval.policy.bound' | 'retrieval.candidate.rejected' | 'retrieval.selection.completed' | 'task.proof.completed' | 'retrieval.diagnostic.completed' | 'task.evidence.identity_mismatch' | 'task.evidence.unavailable' | 'task.evidence.completed' | 'benchmark.gold.loaded' | 'benchmark.observation.captured' | 'benchmark.capability.unavailable' | 'benchmark.gate.failed'; export interface SemanticControlLogEvent { event: SemanticControlLogEventName; identity: Partial & Pick & { intentArtifactHash?: string; queryPlanHash?: string; contextReceipt?: string; actionReceipt?: string; terminalReceipt?: string; }; level: 'debug' | 'info' | 'warn' | 'error'; data: Record; timestamp: number; } //# sourceMappingURL=task-semantic-control.d.ts.map