Skip to content

3.0#68

Open
rbuergi wants to merge 921 commits intomainfrom
3.0
Open

3.0#68
rbuergi wants to merge 921 commits intomainfrom
3.0

Conversation

@rbuergi
Copy link
Contributor

@rbuergi rbuergi commented Mar 21, 2026

Full redesign of core logic. Memex portal, dynamic types, proper persistence on postgresql

rbuergi and others added 30 commits March 25, 2026 00:14
- Remove separate _versions schema; use mesh_node_history in same partition schema
- Add WriteVersionAsync to PostgreSqlVersionQuery (was no-op default)
- Route unknown partitions to Admin instead of auto-provisioning schemas
- Replace GetOrCreateStoreAsync with TryGetStore in read-only paths
- Only SaveNodeAsync and MoveNodeAsync can create new partition stores

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…agent path instructions

- MeshNodeImageHelper: new centralized helpers (ResolveNodeIcon, IsFluentIconName,
  IsInlineSvg, IsEmoji) replacing old GetIconAsImageUrl
- Resolve content: references to absolute URLs (e.g. content:icon.svg on node
  Org/Project → /static/storage/content/Org/Project/icon.svg)
- Handle emojis in all icon rendering paths (header, thumbnail, card, picker,
  collection, search bar) — render as large text instead of crashing
- Only treat PascalCase ASCII words as Fluent icon names (rare/legacy)
- Agent instructions: always use absolute @paths, never relative

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- CreateAllTools: expect 7 tools (added Patch)
- Update tests: include content in test JSON (required by new validation)
- WriteToolWiring: check Plugins config instead of description keyword

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Update validation: only require nodeType (not content) — nodes can legitimately have null content
- AgentToolWiringIntegrationTest: Orchestrator now has explicit Mesh plugin with all tools
- AgentSelectionTest: fix mock matching — use !nodeType: instead of !scope: for disambiguation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… filter

MeshNode is the base type so AddTypeFilter skips it. Remove $type:MeshNode
from mock assertions — disambiguate by checking !nodeType: instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tests expected Roland/Alice/Public roles from sample data but no
AccessAssignment files exist. Add SetupAccessRightsAsync to create
the required roles (Admin, Editor, Viewer) before tests run.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- InMemoryMeshQuery: upgrade default scope to Subtree (not Children) when
  query has conditions — fixes cross-partition satellite fan-out for
  nodeType:Thread/Comment queries
- InMemoryMeshQuery: use GetAllDescendantsAsync for subtree queries within
  satellite paths — fixes scope:subtree not finding nested replies
- CachingStorageAdapter/FileSystemStorageAdapter: fix stale MainNode after
  Namespace adjustment — satellite nodes now get correct MainNode
- RoutingPersistenceServiceCore: add missing EnsureInitializedAsync calls
  to 8 methods — fixes empty results from uninitialized partition stores
- ContentCollectionReferenceTest: add missing AddAcme/AddCornerstone/
  AddSystemorph partition includes
- CommentWithRepliesViewTest: remove unnecessary PingRequest, increase timeout

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants