Knowledge & Memory plane¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
Knowledge is what the organization knows; the graph is how things relate; memory is what happened and what was learned; a skill is how something should be done. All four are durable assets owned by the organization through the Factory, independent of any model.
Responsibilities¶
| Area | Target behaviour |
|---|---|
| Sources and ingestion (BC-10) | Git repositories, Azure DevOps, GitHub, SharePoint, Confluence, documents, SQL, APIs, tickets, ADRs, runbooks, logs, schemas, MCP resources. Pipeline: snapshot → parse → normalize → metadata → chunk → full-text index → embeddings → entity and relationship extraction → graph enrichment → ACL propagation → publish. Incremental sync, change detection, re-indexing, deletion propagation, source versioning, staleness detection |
| Retrieval and indexes (BC-11) | Vector search combined with full-text, symbol search, metadata filters, graph traversal and temporal filters; tenant/project/ACL scope enforced by the backend before top-k (ADR-0013); citations carry source revision, chunk id, embedding profile and index version; indexes are derived, rebuildable state |
| Knowledge graph | Separate graph domains (code, architecture, infrastructure, organization, customer, business, agent experience) behind a federated query layer; temporal validity (validFrom, validTo, observedAt, sourceVersion); every item carries provenance and a trust class: source fact, inferred fact, agent observation, unverified memory |
| Artifacts and lineage (BC-12) | Immutable content references, metadata, version chains, producing run/attempt, access scope; one authoritative writer |
| Memory (BC-13) | Working/session memory (minutes to hours), episodic memory (past runs and resolutions), semantic memory (long-lived facts), procedural memory (evolves into versioned skills). Lifecycle: observation → candidate → classification → evidence check → confidence → policy → store → reinforce/decay → archive/delete. Agent opinions never become organizational facts without governance |
| Context engineering (BC-09) | Context planner: retrieve candidates → graph expansion → memory retrieval → ranking → deduplication → compression → token budgeting → assembly. Distinguish mandatory instructions, task, conversation state, repository state, knowledge, graph neighbours, episodic memory, diff, tool results, optional support. A context snapshot records what was used and why |
| Repository intelligence | File tree, symbol index, type/dependency/call graphs, references, Git history, ownership, build and test relationships, embeddings; exposed as read tools, never by dumping repositories into context |
| Learning loop | Completed runs feed episodic memory, candidate facts, graph updates, skill-improvement candidates and evaluation datasets, each through review before promotion |
| KnowledgeOps | Connect → ingest → validate → index → graph → publish → monitor freshness → re-index → archive/delete |
Current implementation¶
- Agent host sample: chunking, embeddings, retry, upsert, top-k search. Tenant/tag filtering is applied after search, the Agent Framework adapter passes
options: null, the record metadata has no vector-store data attribute, dimensions are fixed at 1536, and only the in-memory connector is wired (Qdrant, PgVector, SQL Server, Azure AI Search throw). ConnectSoft.Extensions.DataIngestionprovides ingestion primitives; no source/ACL/version/deletion lifecycle.- Knowledge graph: canonical Graphify process is documented in ConnectSoft.Documentation; no graph artefacts exist in
ConnectSoft.Extensions; AgentKit removed graphify on 2026-09-13. No Factory graph service. - Memory: in-memory chat history only.
ConnectSoft.MediaIngestionis a candidate source connector for transcripts.
Existing pages that belong to this plane¶
- Knowledge Platform overview, bounded contexts, microservices, APIs, workers, events, aggregate roots, data model, storage, context builder, knowledge graph, vector memory, runtime memory, governance
- Earlier generation (to be merged): knowledge and memory system, graph, indices, DSL knowledge index, state and memory
- Canonical pages to link, not copy: ConnectSoft.Documentation
ai-extensions.md,agent-framework-rag.md,vector-ingestion.md,graphify-knowledge-graphs.md
Later capabilities¶
Folded from the former Knowledge Platform extension roadmap (no dates, no commitments). Principles retained: additive not invasive; contract-first; governed by default (classification, access policy and quality before anything enters a context package); backend-abstracted behind ports; traceable and observable; agent-facing capabilities exposed as MCP tools.
| Candidate | Purpose | Owner today |
|---|---|---|
| Multi-hop graph reasoning and inferred-edge suggestion for human confirmation | Explain paths and likely dependencies | BC-11 (after a graph exists) |
| Governed cross-tenant pattern sharing with anonymisation | Sanctioned reuse across organisations | BC-13 with Trust & Operations policy (Q-13) |
| Tiered summaries of knowledge clusters; semantic (not textual) diff between artifact versions | Reading aids and change understanding | BC-11 / BC-12 |
| Ontology management as governed, versioned configuration | Node and edge types per graph domain | BC-11 |
| Freshness scoring, drift detection against code and runtime reality, re-validation scheduling | KnowledgeOps | BC-10 |
| External knowledge connectors for approved sources (standards, vendor docs) | Governed ingestion | BC-10 / BC-17 |
| Embedding-model A/B evaluation before refresh; cold-vector and blob tiering | Cost and quality of indexes | BC-11 with BC-22 |
| "Explain why each source was selected" for a context package; reuse suggestions for new project intents | Context transparency | BC-09 |
| Pattern listings, curated context packs, ontology and embedding packs, quality-rule packs | Marketplace feeders | BC-27 |
| Knowledge curator, reuse scout and decision historian agents | Agents grounded on this plane | Software Factory pack |
Temporal queries, the federated graph layer and reviewed memory promotion remain directions from the Oct-2026 target.
Open questions¶
Q-09 (permitted data and processing location), Q-10 (retention, deletion, export), Q-13 (feedback and customer artifacts as memory), whether an authorized code graph becomes an optional read-only source for assessment workflows.
Platform design pages (2026-10-09, design plan P4)¶
- Narrative: overview · workflows · UI surfaces · security · observability · deployment · later capabilities
- Service design pages: KnowledgeHost (host) · KnowledgeIngestionService · VectorMemoryService (retrieval and indexes) · ContextBuilderService · ArtifactService · MemoryPromotionService · RepositoryIntelligenceService
Modernization (2026-10-09, design plan M1)¶
Horizon now to next, per the technology radar: Scoped retrieval with citations (ADR-0013); governed memory promotion with consent; repository intelligence graphs (BC-39); agent memory standards. Exists in ConnectSoft today: In-memory vector connector only; Graphify process documented, no artefacts. Each platform page of this plane states its horizon in its overview and later-capabilities pages.
Platforms in this plane¶
| Platform | Bounded contexts | Services | Modelled | Pages |
|---|---|---|---|---|
| Knowledge Platform (PF-04) | BC-09, BC-10, BC-11, BC-12, BC-13, BC-39 | 24 | 7 | overview · services · APIs · events |
Bounded contexts¶
| Context | Platform | Authoritative state |
|---|---|---|
| BC-09 Context Assembly | Knowledge Platform | Context snapshots, budget decisions, provenance |
| BC-10 Sources & Ingestion | Knowledge Platform | Source identity/version, ACL, extraction status, deletion lineage |
| BC-11 Retrieval & Indexes | Knowledge Platform | Retrieval projections, embedding/index revisions, graph projections |
| BC-12 Artifacts & Lineage | Knowledge Platform | Artifact metadata, content references, version chains |
| BC-13 Promoted Memory | Knowledge Platform | Reviewed memory, scope, provenance, expiry |
| BC-39 Repository Intelligence | Knowledge Platform | Repository indexes (symbols, dependencies, calls, ownership, build and test graphs) per repository revision |
Services¶
| Service | Platform | Context | Granularity | Status | Page |
|---|---|---|---|---|---|
| ArtifactMemoryService | Knowledge Platform | BC-12 | module of host | unmodelled | — |
| ArtifactPreviewService | Knowledge Platform | BC-12 | module of host | unmodelled | — |
| ArtifactService | Knowledge Platform | BC-12 | module of host | target | design |
| CodebaseKnowledgeService | Knowledge Platform | BC-10 | module of host | unmodelled | — |
| ContextBuilderService | Knowledge Platform | BC-09 | module of host | target | design |
| DecisionMemoryService | Knowledge Platform | BC-13 | later stage | unmodelled | — |
| DocumentationKnowledgeService | Knowledge Platform | BC-10 | module of host | unmodelled | — |
| EmbeddingService | Knowledge Platform | BC-10 | module of host | unmodelled | — |
| KnowledgeGraphService | Knowledge Platform | BC-11 | later stage | unmodelled | — |
| MemoryPromotionService | Knowledge Platform | BC-13 | module of host | target | design |
| KnowledgeHost | Knowledge Platform | BC-11 | standalone host | target | design |
| KnowledgeIngestionService | Knowledge Platform | BC-10 | module of host | target | design |
| KnowledgeReplayService | Knowledge Platform | BC-11 | later stage | unmodelled | — |
| KnowledgeSearchService | Knowledge Platform | BC-11 | module of host | unmodelled | — |
| LibraryKnowledgeService | Knowledge Platform | BC-10 | module of host | unmodelled | — |
| LineageService | Knowledge Platform | BC-12 | module of host | unmodelled | — |
| MetadataIndexService | Knowledge Platform | BC-11 | module of host | unmodelled | — |
| PatternCatalogService | Knowledge Platform | BC-13 | later stage | unmodelled | — |
| PromptMemoryService | Knowledge Platform | BC-13 | later stage | unmodelled | — |
| RepositoryIntelligenceService | Knowledge Platform | BC-39 | module of host | target | design |
| RuntimeMemoryService | Knowledge Platform | BC-13 | later stage | unmodelled | — |
| TemplateKnowledgeService | Knowledge Platform | BC-10 | module of host | unmodelled | — |
| VectorMemoryService | Knowledge Platform | BC-11 | module of host | target | design |
| VersioningService | Knowledge Platform | BC-12 | module of host | unmodelled | — |
Events crossing the plane boundary¶
| Direction | Event | Producer | Consumer | Topic |
|---|---|---|---|---|
| out | ArtifactStored | ArtifactService | StudioBff | artifacts.artifacts.v1.artifact-stored |
| out | ArtifactStored | ArtifactService | DashboardService | artifacts.artifacts.v1.artifact-stored |
| out | ArtifactValidated | ArtifactService | BlueprintService | artifacts.artifacts.v1.artifact-validated |
| out | ArtifactValidated | ArtifactService | PipelineExecutionService | artifacts.artifacts.v1.artifact-validated |
| out | ArtifactValidated | ArtifactService | FeedbackService | artifacts.artifacts.v1.artifact-validated |
| out | ArtifactValidated | ArtifactService | StudioBff | artifacts.artifacts.v1.artifact-validated |
| out | ArtifactValidated | ArtifactService | QualityScoreService | artifacts.artifacts.v1.artifact-validated |
| out | ArtifactSuperseded | ArtifactService | StudioBff | artifacts.artifacts.v1.artifact-superseded |
| out | ArtifactDeleted | ArtifactService | AuditService | artifacts.artifacts.v1.artifact-deleted |
| out | ArtifactDeleted | ArtifactService | DashboardService | artifacts.artifacts.v1.artifact-deleted |
| out | ContextAssembled | ContextBuilderService | StudioBff | context-assembly.snapshots.v1.context-assembled |
| out | ContextAssembled | ContextBuilderService | DashboardService | context-assembly.snapshots.v1.context-assembled |
| out | ContextAssembled | ContextBuilderService | QualityScoreService | context-assembly.snapshots.v1.context-assembled |
| out | MemoryObserved | MemoryPromotionService | DashboardService | memory.items.v1.memory-observed |
| out | MemoryClassified | MemoryPromotionService | StudioBff | memory.items.v1.memory-classified |
| out | MemoryClassified | MemoryPromotionService | DashboardService | memory.items.v1.memory-classified |
| out | MemoryPromoted | MemoryPromotionService | StudioBff | memory.items.v1.memory-promoted |
| out | MemoryPromoted | MemoryPromotionService | AuditService | memory.items.v1.memory-promoted |
| out | MemoryArchived | MemoryPromotionService | DashboardService | memory.items.v1.memory-archived |
| out | SkillCandidateProposed | MemoryPromotionService | FeedbackService | memory.items.v1.skill-candidate-proposed |
| out | SkillCandidateProposed | MemoryPromotionService | StudioBff | memory.items.v1.skill-candidate-proposed |
| out | SkillCandidateProposed | MemoryPromotionService | StudioNotificationService | memory.items.v1.skill-candidate-proposed |
| out | SkillCandidateProposed | MemoryPromotionService | AuditService | memory.items.v1.skill-candidate-proposed |
| out | SourceRegistered | KnowledgeIngestionService | StudioBff | ingestion.sources.v1.source-registered |
| out | SourceRegistered | KnowledgeIngestionService | AuditService | ingestion.sources.v1.source-registered |
| out | SourceStateChanged | KnowledgeIngestionService | StudioBff | ingestion.sources.v1.source-state-changed |
| out | SourceStateChanged | KnowledgeIngestionService | DashboardService | ingestion.sources.v1.source-state-changed |
| out | SourceDeleted | KnowledgeIngestionService | AuditService | ingestion.sources.v1.source-deleted |
| out | SourceSnapshotTaken | KnowledgeIngestionService | DashboardService | ingestion.snapshots.v1.source-snapshot-taken |
| out | ChunksPublished | KnowledgeIngestionService | TemplateRegistryService | ingestion.snapshots.v1.chunks-published |
| out | ChunksPublished | KnowledgeIngestionService | DashboardService | ingestion.snapshots.v1.chunks-published |
| out | SnapshotFailed | KnowledgeIngestionService | StudioBff | ingestion.snapshots.v1.snapshot-failed |
| out | SnapshotFailed | KnowledgeIngestionService | DashboardService | ingestion.snapshots.v1.snapshot-failed |
| out | RepositoryIndexed | RepositoryIntelligenceService | StudioBff | repo-intelligence.indexes.v1.repository-indexed |
| out | RepositoryIndexed | RepositoryIntelligenceService | DashboardService | repo-intelligence.indexes.v1.repository-indexed |
| out | RepositoryIndexFailed | RepositoryIntelligenceService | StudioBff | repo-intelligence.indexes.v1.repository-index-failed |
| out | RepositoryIndexFailed | RepositoryIntelligenceService | DashboardService | repo-intelligence.indexes.v1.repository-index-failed |
| out | IndexRevisionReady | VectorMemoryService | StudioBff | retrieval.indexes.v1.index-revision-ready |
| out | IndexRevisionReady | VectorMemoryService | DashboardService | retrieval.indexes.v1.index-revision-ready |
| out | IndexRevisionRetired | VectorMemoryService | DashboardService | retrieval.indexes.v1.index-revision-retired |
| out | IndexDegraded | VectorMemoryService | DashboardService | retrieval.indexes.v1.index-degraded |
| out | GraphFactsUpdated | VectorMemoryService | DashboardService | retrieval.graph.v1.graph-facts-updated |
| out | RetrievalExecuted | VectorMemoryService | DashboardService | retrieval.queries.v1.retrieval-executed |
| out | RetrievalExecuted | VectorMemoryService | QualityScoreService | retrieval.queries.v1.retrieval-executed |
| in | ProjectStateChanged | ProjectService | ArtifactService | projects.projects.v1.project-state-changed |
| in | ProjectStateChanged | ProjectService | KnowledgeIngestionService | projects.projects.v1.project-state-changed |
| in | SourceScopeChanged | ProjectService | KnowledgeIngestionService | projects.scope.v1.source-scope-changed |
| in | RunCompleted | RunControlService | MemoryPromotionService | run-control.runs.v1.run-completed |
| in | RunCompleted | RunControlService | ArtifactService | run-control.runs.v1.run-completed |
| in | ApprovalDecided | RunControlService | MemoryPromotionService | run-control.approvals.v1.approval-decided |
| in | AttemptOutcomeReported | AgentRuntimeService | MemoryPromotionService | execution.attempts.v1.attempt-outcome-reported |
| in | DeliveryReceived | ConnectorRegistryService | KnowledgeIngestionService | connectors.deliveries.v1.delivery-received |
| in | ConnectionStateChanged | IntegrationService | KnowledgeIngestionService | connections.connections.v1.connection-state-changed |
| in | ChangeProposalMerged | PipelineExecutionService | RepositoryIntelligenceService | pipelines.proposals.v1.change-proposal-merged |
| in | RetentionRuleChanged | RetentionResidencyService | KnowledgeHost | data-foundations.retention.v1.retention-rule-changed |
| in | DeletionOrderIssued | RetentionResidencyService | KnowledgeHost | data-foundations.orders.v1.deletion-order-issued |
| in | LegalHoldChanged | RetentionResidencyService | KnowledgeHost | data-foundations.orders.v1.legal-hold-changed |
| in | ClassificationChanged | AuditService | ContextBuilderService | audit.classification.v1.classification-changed |
| in | ClassificationChanged | AuditService | ArtifactService | audit.classification.v1.classification-changed |
| in | ClassificationChanged | AuditService | KnowledgeIngestionService | audit.classification.v1.classification-changed |
| in | GenerationCompleted | GenerationRecipeService | RepositoryIntelligenceService | generation.recipes.v1.generation-completed |
| in | GeneratedOutputRecorded | GenerationRecipeService | RepositoryIntelligenceService | generation.outputs.v1.generated-output-recorded |
Gateways¶
No gateway role is anchored in this plane.
Model coverage¶
| Count | |
|---|---|
| Services in the registry | 24 |
| Modelled (YAML exists) | 7 |
| With a design page | 7 |
| Unmodelled | 17 |