/**
 * Memory Engine — Exported Types
 *
 * All public types and interfaces for the memory subsystem.
 * Extracted from memory.ts Phase 1 of the v7.x memory split.
 *
 * Import cycle constraint: this file may only import from external modules
 * (memory-control-plane, etc.) — never from memory.ts or other memory/ siblings.
 */
export const MEMORY_LAYER_CONTRACT = {
    working: {
        id: 'working',
        description: 'Immediate working context for the current run and active edits.',
        scopes: ['session'],
        preferredTiers: ['prefrontal'],
        lanes: ['workspace', 'inbox'],
        rawEvidenceRetained: true,
        auditTrail: { snapshots: true, history: true, provenance: true },
    },
    session: {
        id: 'session',
        description: 'Session-bounded evidence retained beyond the immediate working set.',
        scopes: ['session'],
        preferredTiers: ['hippocampus', 'cortex'],
        lanes: ['workspace', 'inbox'],
        rawEvidenceRetained: true,
        auditTrail: { snapshots: true, history: true, provenance: true },
    },
    project: {
        id: 'project',
        description: 'Repo or workspace knowledge meant to persist across sessions.',
        scopes: ['project'],
        preferredTiers: ['hippocampus', 'cortex'],
        lanes: ['workspace'],
        rawEvidenceRetained: true,
        auditTrail: { snapshots: true, history: true, provenance: true },
    },
    pattern: {
        id: 'pattern',
        description: 'Reusable shared, promoted, or profile-level knowledge and learned patterns.',
        scopes: ['shared', 'promoted', 'user'],
        preferredTiers: ['cortex', 'hippocampus'],
        lanes: ['shared', 'profile'],
        rawEvidenceRetained: true,
        auditTrail: { snapshots: true, history: true, provenance: true },
    },
};
