Versions

#279 • 7 versions, newest first

Sep 19, 2026Claude CodeCurrent

Architecture

Conderis gives coding agents governed, shared project context: decisions, tasks, documentation and project instructions that a person has vouched for. This page is the overview; the subpages go into detail.

Solution layout

Project Role
Conderis.Core Domain services and the EF Core data model. It references no ASP.NET, so a web dependency inside the domain fails the build instead of passing review.
Conderis Blazor web app, HTTP endpoints, OAuth sign-in (OpenIddict) and the MCP adapter layer.
Conderis.TestSupport Test doubles shared by both test projects.
Conderis.Core.Tests Domain tests without a web host.
Conderis.Tests HTTP, OAuth, MCP and rendered UI tests.

Stack: .NET 10, Blazor with global Interactive Server rendering and prerendering, EF Core 10 on SQL Server in production and SQLite in tests, MCP over Streamable HTTP.

Core ideas

  • One numbering for every item (#284). Tasks, memories and pages share one sequence per project, so #48 names exactly one thing.
  • Review before knowledge spreads (#285). Only moderators publish shared knowledge directly; everyone else proposes.
  • Deleting content (#286). Archive for outdated items, reviewed permanent deletion for text that must not be kept.
  • Item relations (#287). References derived from #N plus explicit related, implements and supersedes links.
  • Agent identity and assignees (#288). Opaque stable references instead of names, so agents with the same name stay apart. People appear by their display name, never by email address.
  • Web routes (#289). Stable read addresses, separate edit addresses, shared editor behaviour.
  • Memory structure and hygiene (#290, planned). Terse summaries, weight, one level of submemories and a deterministic hygiene score, so memory stays small and current as projects grow.
  • MCP tool surface v2 (#309). Eight kind-agnostic tools with per-kind JSON fields; they replaced 27 tools in #317.

Documentation pages

Pages form a tree per project. Reading follows the project, so a public project has public documentation. A page with active subpages cannot be archived. Recall lists top-level pages by number and title and never copies their content; item_list with kind: page and a query finds pages by their current text and returns a short excerpt. The decisions behind this are in #278.

MCP surface

Eight tools, about 6,500 characters (the 27 tools before #317 cost about 19,000). The advertised list costs every connected agent context in every session, so a test fails as soon as it grows beyond its budget (see Build and test, #282). The design and its decisions are in #309.

Tool Purpose
recall Session start: instructions, active tasks, pages and memories within a budget; guide=true returns the versioned system guide (SystemGuide).
project_get The caller's projects, or one project with permissions, assignable people and agents, and counts.
project_store Create or change a project.
item_get One task, memory, page, proposal or the instructions, with its version and direct relations; history=true, version, offset/take.
item_list Short entries of one kind, with query, filter, sort and cursor paging.
item_store Create or change items with one patch rule (omitted keeps, null clears), or store a batch.
item_action Task claim, complete, block, unblock; archive, restore; relate, unrelate; proposal approve, reject, withdraw.
item_delete Request permanent deletion of private data; deciding stays in the web app.

Reading, writing and irreversible actions are separate tools, so a client can allow them separately. Every item has one version; revision ids are not part of the contract. Every item response names its kind. Project instructions additionally carry mandatory: true; no other item does, so an agent can tell binding guidance from information.

Sep 17, 2026Claude Code

Architecture

Conderis gives coding agents governed, shared project context: decisions, tasks, documentation and project instructions that a person has vouched for. This page is the overview; the subpages go into detail.

Solution layout

Project Role
Conderis.Core Domain services and the EF Core data model. It references no ASP.NET, so a web dependency inside the domain fails the build instead of passing review.
Conderis Blazor web app, HTTP endpoints, OAuth sign-in (OpenIddict) and the MCP adapter layer.
Conderis.TestSupport Test doubles shared by both test projects.
Conderis.Core.Tests Domain tests without a web host.
Conderis.Tests HTTP, OAuth, MCP and rendered UI tests.

Stack: .NET 10, Blazor with global Interactive Server rendering and prerendering, EF Core 10 on SQL Server in production and SQLite in tests, MCP over Streamable HTTP.

Core ideas

  • One numbering for every item (#284). Tasks, memories and pages share one sequence per project, so #48 names exactly one thing.
  • Review before knowledge spreads (#285). Only moderators publish shared knowledge directly; everyone else proposes.
  • Deleting content (#286). Archive for outdated items, reviewed permanent deletion for text that must not be kept.
  • Item relations (#287). References derived from #N plus explicit related, implements and supersedes links.
  • Agent identity and assignees (#288). Opaque stable references instead of names, so agents with the same name stay apart.
  • Web routes (#289). Stable read addresses, separate edit addresses, shared editor behaviour.
  • Memory structure and hygiene (#290, planned). Terse summaries, weight, one level of submemories and a deterministic hygiene score, so memory stays small and current as projects grow.
  • MCP tool surface v2 (#309, planned). Eight kind-agnostic tools with per-kind JSON fields instead of the 27 below.

Documentation pages

Pages form a tree per project. Reading follows the project, so a public project has public documentation. A page with active subpages cannot be archived. Recall lists top-level pages by number and title and never copies their content; item_search finds pages by their current text and returns a short excerpt. The decisions behind this are in #278.

MCP surface

27 tools. The advertised list costs every connected agent context in every session, so a test fails as soon as it grows beyond its budget (see Build and test, #282). A replacement with eight tools is planned in #309.

  • Entry: memory_recall, system_memory
  • Projects: project_list, project_create, project_update
  • Any item: item_get, item_search, item_history, item_archive, item_delete
  • Memories: memory_store, memory_get
  • Documentation and instructions: page_store
  • Tasks: task_list, task_assignee_list, task_create, task_patch, task_claim, task_complete
  • Review: proposal_get, proposal_review, proposal_withdraw, privacy_deletion_queue, privacy_deletion_review
  • Relations: relation_list, relation_create, relation_remove

Every item response names its kind. Project instructions additionally carry mandatory: true; no other item does, so an agent can tell binding guidance from information.

Sep 17, 2026Claude Code

Architecture

Conderis gives coding agents governed, shared project context: decisions, tasks, documentation and project instructions that a person has vouched for. This page is the overview; the subpages go into detail.

Solution layout

Project Role
Conderis.Core Domain services and the EF Core data model. It references no ASP.NET, so a web dependency inside the domain fails the build instead of passing review.
Conderis Blazor web app, HTTP endpoints, OAuth sign-in (OpenIddict) and the MCP adapter layer.
Conderis.TestSupport Test doubles shared by both test projects.
Conderis.Core.Tests Domain tests without a web host.
Conderis.Tests HTTP, OAuth, MCP and rendered UI tests.

Stack: .NET 10, Blazor with global Interactive Server rendering and prerendering, EF Core 10 on SQL Server in production and SQLite in tests, MCP over Streamable HTTP.

Core ideas

  • One numbering for every item (#284). Tasks, memories and pages share one sequence per project, so #48 names exactly one thing.
  • Review before knowledge spreads (#285). Only moderators publish shared knowledge directly; everyone else proposes.
  • Deleting content (#286). Archive for outdated items, reviewed permanent deletion for text that must not be kept.
  • Item relations (#287). References derived from #N plus explicit related, implements and supersedes links.
  • Agent identity and assignees (#288). Opaque stable references instead of names, so agents with the same name stay apart.
  • Web routes (#289). Stable read addresses, separate edit addresses, shared editor behaviour.
  • Memory structure and hygiene (#290, planned). Terse summaries, weight, one level of submemories and a deterministic hygiene score, so memory stays small and current as projects grow.

Documentation pages

Pages form a tree per project. Reading follows the project, so a public project has public documentation. A page with active subpages cannot be archived. Recall lists top-level pages by number and title and never copies their content; item_search finds pages by their current text and returns a short excerpt. The decisions behind this are in #278.

MCP surface

27 tools. The advertised list costs every connected agent context in every session, so a test fails as soon as it grows beyond its budget (see Build and test, #282).

  • Entry: memory_recall, system_memory
  • Projects: project_list, project_create, project_update
  • Any item: item_get, item_search, item_history, item_archive, item_delete
  • Memories: memory_store, memory_get
  • Documentation and instructions: page_store
  • Tasks: task_list, task_assignee_list, task_create, task_patch, task_claim, task_complete
  • Review: proposal_get, proposal_review, proposal_withdraw, privacy_deletion_queue, privacy_deletion_review
  • Relations: relation_list, relation_create, relation_remove

Every item response names its kind. Project instructions additionally carry mandatory: true; no other item does, so an agent can tell binding guidance from information.

Sep 17, 2026Claude Code

Architecture

Conderis gives coding agents governed, shared project context: decisions, tasks, documentation and project instructions that a person has vouched for. This page is the overview; the subpages go into detail.

Solution layout

Project Role
Conderis.Core Domain services and the EF Core data model. It references no ASP.NET, so a web dependency inside the domain fails the build instead of passing review.
Conderis Blazor web app, HTTP endpoints, OAuth sign-in (OpenIddict) and the MCP adapter layer.
Conderis.TestSupport Test doubles shared by both test projects.
Conderis.Core.Tests Domain tests without a web host.
Conderis.Tests HTTP, OAuth, MCP and rendered UI tests.

Stack: .NET 10, Blazor with global Interactive Server rendering and prerendering, EF Core 10 on SQL Server in production and SQLite in tests, MCP over Streamable HTTP.

Core ideas

  • One numbering for every item (#284). Tasks, memories and pages share one sequence per project, so #48 names exactly one thing.
  • Review before knowledge spreads (#285). Only moderators publish shared knowledge directly; everyone else proposes.
  • Deleting content (#286). Archive for outdated items, reviewed permanent deletion for text that must not be kept.
  • Item relations (#287). References derived from #N plus explicit related, implements and supersedes links.
  • Agent identity and assignees (#288). Opaque stable references instead of names, so agents with the same name stay apart.
  • Web routes (#289). Stable read addresses, separate edit addresses, shared editor behaviour.

Documentation pages

Pages form a tree per project. Reading follows the project, so a public project has public documentation. A page with active subpages cannot be archived. Recall lists top-level pages by number and title and never copies their content; item_search finds pages by their current text and returns a short excerpt. The decisions behind this are in #278.

MCP surface

27 tools. The advertised list costs every connected agent context in every session, so a test fails as soon as it grows beyond its budget (see Build and test, #282).

  • Entry: memory_recall, system_memory
  • Projects: project_list, project_create, project_update
  • Any item: item_get, item_search, item_history, item_archive, item_delete
  • Memories: memory_store, memory_get
  • Documentation and instructions: page_store
  • Tasks: task_list, task_assignee_list, task_create, task_patch, task_claim, task_complete
  • Review: proposal_get, proposal_review, proposal_withdraw, privacy_deletion_queue, privacy_deletion_review
  • Relations: relation_list, relation_create, relation_remove

Every item response names its kind. Project instructions additionally carry mandatory: true; no other item does, so an agent can tell binding guidance from information.

Sep 17, 2026Claude Code

Architecture

Conderis gives coding agents governed, shared project context: decisions, tasks, documentation and project instructions that a person has vouched for. This page is the overview; the subpages go into detail.

Solution layout

Project Role
Conderis.Core Domain services and the EF Core data model. It references no ASP.NET, so a web dependency inside the domain fails the build instead of passing review.
Conderis Blazor web app, HTTP endpoints, OAuth sign-in (OpenIddict) and the MCP adapter layer.
Conderis.TestSupport Test doubles shared by both test projects.
Conderis.Core.Tests Domain tests without a web host.
Conderis.Tests HTTP, OAuth, MCP and rendered UI tests.

Stack: .NET 10, Blazor with global Interactive Server rendering and prerendering, EF Core 10 on SQL Server in production and SQLite in tests, MCP over Streamable HTTP.

Core ideas

  • One numbering for every item (#284). Tasks, memories and pages share one sequence per project, so #48 names exactly one thing.
  • Review before knowledge spreads (#285). Only moderators publish shared knowledge directly; everyone else proposes.
  • Deleting content (#286). Archive for outdated items, reviewed permanent deletion for text that must not be kept.
  • Item relations (#287). References derived from #N plus explicit related, implements and supersedes links.
  • Agent identity and assignees (#288). Opaque stable references instead of names, so agents with the same name stay apart.
  • Web routes (#289). Stable read addresses, separate edit addresses, shared editor behaviour.

Documentation pages

Pages form a tree per project. Reading follows the project, so a public project has public documentation. A page with active subpages cannot be archived. Recall lists top-level pages by number and title and never copies their content. The decisions behind this are in #278.

MCP surface

27 tools. The advertised list costs every connected agent context in every session, so a test fails as soon as it grows beyond its budget (see Build and test, #282).

  • Entry: memory_recall, system_memory
  • Projects: project_list, project_create, project_update
  • Any item: item_get, item_history, item_archive, item_delete
  • Memories: memory_store, memory_get, memory_search
  • Documentation and instructions: page_store
  • Tasks: task_list, task_assignee_list, task_create, task_patch, task_claim, task_complete
  • Review: proposal_get, proposal_review, proposal_withdraw, privacy_deletion_queue, privacy_deletion_review
  • Relations: relation_list, relation_create, relation_remove

Every item response names its kind. Project instructions additionally carry mandatory: true; no other item does, so an agent can tell binding guidance from information.

Sep 16, 2026Claude Code

Architecture

Conderis gives coding agents governed, shared project context: decisions, tasks, documentation and project instructions that a person has vouched for. This page is the overview; the subpages go into detail.

Solution layout

Project Role
Conderis.Core Domain services and the EF Core data model. It references no ASP.NET, so a web dependency inside the domain fails the build instead of passing review.
Conderis Blazor web app, HTTP endpoints, OAuth sign-in (OpenIddict) and the MCP adapter layer.
Conderis.TestSupport Test doubles shared by both test projects.
Conderis.Core.Tests Domain tests without a web host.
Conderis.Tests HTTP, OAuth, MCP and rendered UI tests.

Stack: .NET 10, Blazor with global Interactive Server rendering and prerendering, EF Core 10 on SQL Server in production and SQLite in tests, MCP over Streamable HTTP.

Core ideas

  • One numbering for every item (#284). Tasks, memories and pages share one sequence per project, so #48 names exactly one thing.
  • Review before knowledge spreads (#285). Only moderators publish shared knowledge directly; everyone else proposes.
  • Deleting content (#286). Archive for outdated items, reviewed permanent deletion for text that must not be kept.

Documentation pages

Pages form a tree per project. Reading follows the project, so a public project has public documentation. A page with active subpages cannot be archived. Recall lists top-level pages by number and title and never copies their content. The decisions behind this are in #278.

MCP surface

27 tools. The advertised list costs every connected agent context in every session, so a test fails as soon as it grows beyond its budget (see Build and test, #282).

  • Entry: memory_recall, system_memory
  • Projects: project_list, project_create, project_update
  • Any item: item_get, item_history, item_archive, item_delete
  • Memories: memory_store, memory_get, memory_search
  • Documentation and instructions: page_store
  • Tasks: task_list, task_assignee_list, task_create, task_patch, task_claim, task_complete
  • Review: proposal_get, proposal_review, proposal_withdraw, privacy_deletion_queue, privacy_deletion_review
  • Relations: relation_list, relation_create, relation_remove

Every item response names its kind. Project instructions additionally carry mandatory: true; no other item does, so an agent can tell binding guidance from information.

Sep 16, 2026Claude Code

Architecture

Conderis gives coding agents governed, shared project context: decisions, tasks, documentation and project instructions that a person has vouched for. This page describes how the service is built.

Solution layout

Project Role
Conderis.Core Domain services and the EF Core data model. It references no ASP.NET, so a web dependency inside the domain fails the build instead of passing review.
Conderis Blazor web app, HTTP endpoints, OAuth sign-in (OpenIddict) and the MCP adapter layer.
Conderis.TestSupport Test doubles shared by both test projects.
Conderis.Core.Tests Domain tests without a web host.
Conderis.Tests HTTP, OAuth, MCP and rendered UI tests.

Stack: .NET 10, Blazor with global Interactive Server rendering and prerendering, EF Core 10 on SQL Server in production and SQLite in tests, MCP over Streamable HTTP.

One numbering for every item

Tasks, memories and documentation pages take their numbers from one sequence per project. #48 therefore names exactly one item, and item_get(projectId, number) returns it together with its kind. Numbers are allocated under a lock on the project row inside the writing transaction, so two agents never receive the same number, and a rejected page proposal never uses one up.

Personal, organization and system memories stay outside the sequence and are addressed by their own reference.

Review before knowledge spreads

Shared and public memories, documentation pages and the project instructions are published directly only by project moderators. Everyone else creates a proposal, and nothing changes until a moderator approves it.

flowchart LR
  A[Agent or member\nwrites a change] --> B{May moderate\nthis project?}
  B -- yes --> C[Published]
  B -- no --> D[Proposal]
  D --> E{Moderator\nreview}
  E -- approve --> C
  E -- reject --> F[Rejected\nnothing changes]
  C --> G[item_get and recall\nfor every agent]

A proposal is checked against the revision it was based on. If the item changed in the meantime, approval is refused instead of overwriting the newer version.

Tasks are the exception: write permission edits them directly, and item_history records every field change.

Documentation pages

Pages form a tree per project. Reading follows the project, so a public project has public documentation. A page with active subpages cannot be deleted, and deleting keeps the history. Recall lists the top-level pages by number and title and never copies their content. The decisions behind this are in #278.

MCP surface

27 tools. The advertised list costs every connected agent context in every session, so McpDiscoveryTests.ToolListStaysWithinItsContextBudget fails as soon as it grows.

  • Entry: memory_recall, system_memory
  • Projects: project_list, project_create, project_update
  • Any item: item_get, item_history, item_archive, item_delete
  • Memories: memory_store, memory_get, memory_search
  • Documentation and instructions: page_store
  • Tasks: task_list, task_assignee_list, task_create, task_patch, task_claim, task_complete
  • Review: proposal_get, proposal_review, proposal_withdraw, privacy_deletion_queue, privacy_deletion_review
  • Relations: relation_list, relation_create, relation_remove

Every item response names its kind. Project instructions additionally carry mandatory: true; no other item does, so an agent can tell binding guidance from information.

To remove text that must not be kept, publish a corrected version first, then delete the older ones.

Connection interrupted or session ended. Reload

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.