cabal-version: 3.0 name: kioku-core version: 0.7.0.0 x-revision: 1 synopsis: Reusable agent memory runtime description: Core runtime for kioku. M1 establishes the application effect stack; later milestones add the memory and session aggregates. license: BSD-3-Clause license-file: LICENSE author: Nadeem Bitar maintainer: nadeem@gmail.com copyright: 2026 Nadeem Bitar category: Data build-type: Simple tested-with: ghc >=9.12 && <9.13 homepage: https://github.com/shinzui/kioku bug-reports: https://github.com/shinzui/kioku/issues extra-doc-files: CHANGELOG.md source-repository head type: git location: https://github.com/shinzui/kioku.git subdir: kioku-core common warnings ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wpartial-fields -Wredundant-constraints -Werror=deprecations -Werror=incomplete-patterns common shared default-language: GHC2024 default-extensions: BlockArguments DeriveAnyClass DuplicateRecordFields MultilineStrings OverloadedLabels OverloadedRecordDot OverloadedStrings QualifiedDo TemplateHaskell library import: warnings, shared hs-source-dirs: src exposed-modules: Kioku.AI.Config Kioku.AI.File Kioku.AI.Interactive Kioku.AI.Runtime Kioku.App Kioku.Distill.Consolidate Kioku.Distill.Extract Kioku.Distill.L1 Kioku.Distill.L2 Kioku.Distill.L3 Kioku.Distill.Persona Kioku.Distill.Runtime Kioku.Distill.Scene Kioku.Distill.ScopeIdentity Kioku.Distill.Timer Kioku.Distill.Timer.Deferred Kioku.Distill.Timer.Outcome Kioku.Distill.Timer.Worker Kioku.Memory Kioku.Memory.Domain Kioku.Memory.Embedding Kioku.Memory.Embedding.Worker Kioku.Memory.EventStream Kioku.Memory.ReadModel Kioku.Partition Kioku.ProjectionCatalog Kioku.ReadModel Kioku.Recall Kioku.Recall.Capability Kioku.Session Kioku.Session.Domain Kioku.Session.EventStream Kioku.Session.ReadModel Kioku.Worker.Failure Kioku.Workspace -- Where Kioku's projections physically live is Kioku's business, so the -- qualified relation names stay internal rather than becoming a public API a -- consumer could pin its own SQL to. other-modules: Kioku.Database.Schema -- Works around a GHC 9.12.4 coercion-optimiser bug that makes the *profiled* -- build of Kioku.Distill.L1 panic: -- -- panic! (the 'impossible' happened) / coercionKind / ConsSymbolDef -- pprPanic, called at compiler/GHC/Core/Coercion.hs:2550:17 -- -- `ConsSymbolDef` is the built-in rewrite axiom behind the type-level Symbol -- machinery that mmzk-typeid's `Data.KindID.V7` prefix validation produces. -- With -prof, optCoercion builds an AxiomRuleCo whose argument coercions no -- longer let the built-in rule re-prove itself, and coercionKind crashes. -- -- This lives in ghc-prof-options, not ghc-options, so ordinary builds keep the -- coercion optimiser; only the profiled way pays for the workaround. Profiling -- detail is NOT the trigger -- `profiling-detail: none` and `late-toplevel` -- both still panic -- so do not "simplify" this to a -fprof-auto tweak. -- Retest and drop once the toolchain moves off GHC 9.12.4. Full write-up: -- mori://MMZK1526/mmzk-typeid/upstream-issues/mmzk-typeid-kindid-ghc-9-12-4-profiling-coercionkind-panic ghc-prof-options: -fno-opt-coercion build-depends: aeson >=2.2 && <2.3, baikai ^>=0.7.0.0, baikai-claude ^>=0.7.0.0, baikai-effectful ^>=0.4.0.1, baikai-openai ^>=0.7.0.0, base >=4.21 && <5, bytestring >=0.11 && <0.13, containers >=0.6 && <0.8, contravariant >=1.5 && <1.6, contravariant-extras >=0.3 && <0.4, crypton ^>=1.1.4, directory >=1.3 && <1.4, effectful >=2.5 && <2.7, effectful-core >=2.5 && <2.7, filepath >=1.4 && <1.6, generic-lens >=2.2 && <2.4, hasql >=1.6 && <1.11, hasql-pool >=1.2 && <1.5, hasql-transaction >=1.0 && <1.3, hs-opentelemetry-api >=1.0 && <1.1, keiki ^>=0.9.0.0, keiro >=0.17.0.0 && <0.19, keiro-core >=0.17.0.0 && <0.19, kioku-api ^>=0.7.0.0, kiroku-store ^>=0.8.0.0, lens >=5.2 && <5.4, mmzk-typeid >=0.7 && <0.8, shibuya-core ^>=0.9.0.0, shibuya-kiroku-adapter ^>=0.5.1.1, shikumi ^>=0.4.0.0, shikumi-trace ^>=0.3.0.0, text >=2.1 && <2.2, time >=1.12 && <1.15, unix >=2.8.8 && <2.9, unordered-containers >=0.2 && <0.3, uuid >=1.3 && <1.4, vector ^>=0.13.2.0, test-suite kioku-test import: warnings, shared type: exitcode-stdio-1.0 main-is: Main.hs other-modules: Kioku.AIRuntimeSpec Kioku.AwaitingSpec Kioku.CodecCompatSpec Kioku.DistillSpec Kioku.EmbeddingWorkerSpec Kioku.IdempotencySpec Kioku.MemorySpaceSpec Kioku.PortfolioAccessSpec Kioku.ProjectionCatalogSpec Kioku.ReadModelReconcileSpec Kioku.RecallCompatSpec Kioku.RecallHarness Kioku.RecallSpec Kioku.RecallSqlSpec Kioku.RecallTargetSpec Kioku.SchemaSpec Kioku.ScopeIdentitySpec Kioku.SessionInvariantsSpec Kioku.SessionLineageSpec Kioku.SpaceFixtures Kioku.SpaceIsolationSpec Kioku.TimerWorkerSpec Kioku.WorkspaceSpec hs-source-dirs: test ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: aeson >=2.2, async >=2.2 && <2.3, baikai ^>=0.7.0.0, base >=4.21 && <5, bytestring >=0.11, containers >=0.6, contravariant >=1.5, directory >=1.3, effectful >=2.5, effectful-core >=2.5, filepath >=1.4, generic-lens >=2.2 && <2.4, hasql >=1.6, hasql-transaction >=1.0, keiro >=0.17.0.0 && <0.19, keiro-core >=0.17.0.0 && <0.19, kioku-api ^>=0.7.0.0, kioku-core ^>=0.7.0.0, kioku-migrations:test-support ^>=0.7.0.0, kiroku-store ^>=0.8.0.0, lens >=5.2, shibuya-core ^>=0.9.0.0, shikumi ^>=0.4.0.0, shikumi-trace ^>=0.3.0.0, tasty >=1.5, tasty-expected-failure >=0.12, tasty-hunit >=0.10, temporary >=1.3, text >=2.1, time >=1.12, unix >=2.8.8 && <2.9, unordered-containers >=0.2, uuid >=1.3, vector,