The problem: code does not explain every decision

A repository can show what a system does today. It rarely contains every requirement, meeting decision, operational constraint, or reason an earlier approach failed. That context lives across documents and people, and developers must reconstruct it when work changes hands.

AI coding tools make the gap more visible. A new session can inspect the code without knowing why a requirement exists. I wanted project knowledge to remain available when the model, editor, or conversation changes.

My approach: make project context a shared resource

I designed Context Harbor around a project workspace. Documents provide the source material, reusable prompts capture repeatable ways of working, and memories retain decisions and lessons that should survive a session.

MCP connects that workspace to development tools. The workflow starts with retrieving relevant requirements and prior decisions, then inspecting the current code. The two sources serve different purposes: project knowledge explains intent; the repository establishes implementation.

The decisions that shaped the system

Source-backed retrieval makes an answer inspectable. Hybrid search combines semantic relevance with exact-term matching, so a question can connect to related material while retaining specific terminology. The retrieved source gives a developer something to verify before acting.

Project boundaries are part of the retrieval workflow. Documents and access belong to a defined workspace, rather than one undifferentiated knowledge pool. That keeps the relevant project in view when several systems share similar terminology.

I kept persistent knowledge independent of a single AI client. Self-hosting gives the operator control over deployment, while administrator-controlled providers make model selection an explicit configuration decision.

The working result

Context Harbor provides a portal for project workspaces, document activity, search, and MCP setup. Developers and connected agents can retrieve project sources and reuse the same knowledge across sessions.

The evidence here is the working product and its visible workflow. Retrieval still depends on the quality and currency of the source material. A stored decision needs review when requirements change; persistence alone cannot make an outdated decision correct.

What this demonstrates

The engineering challenge extends beyond adding vector search. It requires a usable knowledge lifecycle: define the project boundary, bring in source material, expose relevant context at the point of work, and preserve the decisions that future sessions will need.

The same approach applies when an engineering team needs private company knowledge inside an AI workflow, with clear ownership and inspectable sources.