Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

DeleteSpace plan: target queries and inventory predicates diverge (content-roots vs ContentRoots; GitSync type vs IsGitSync)

Closed
#6,040 3 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
csharp
Domain
backend

Research direction

Read src/MeshWeaver.Graph/ControlLane/SpaceDeletion.cs and the shared plan in MeshWeaver#5792, then compare the target queries with the inventory predicates for ContentRoots and IsGitSync. Check how query negation behaves on both executors before changing exclusions or splitting targets; add a rootless regression that includes _GitSync. Done when the query result sets match the counted inventory sets, including that regression.

Written by the indexing model from the issue text.

Description

area:hosting bug sev:L

Moved from the fleet's private triage inbox (MeshWeaver.Feedback#50, filed 2026-09-27). Core owns it: src/MeshWeaver.Graph/ControlLane/SpaceDeletion.cs: ChildrenQuery is still namespace:{space} scope:children with no exclusions.


Owner: the shared DeleteSpace plan, core MeshWeaver.Graph.ControlLane.SpaceDeletion.PlanSteps (MeshWeaver#5792). It reproduces MeshWeaver.Plugins#2426's DeleteSpaceRunner.PlanOf, and Plugins now delegates to it. Two targets pair a query with a count taken from a different predicate. (1) For a rootless space, the content-roots target is namespace:{space} scope:children, counted from inventory.ContentRoots. ContentRoots excludes satellite, custom-satellite and IsGitSync rows, but the query does not, so it can list {space}/_GitSync. (2) The GitSync target is namespace:{space} scope:descendants nodeType:GitHubSyncConfig, counted by IsGitSync, which is path-or-type: an untyped or otherwise-typed …/_GitSync row is counted but not matched by the query. The count is bound and the inventory is what executes, so the deletion itself is correct. What can drift is the reader's test of the set ('run the query and compare'). Raised by the Copilot review on MeshWeaver#5792 (threads 4114680265, 4114680278). Suggested fix: queries whose predicates equal the inventory's, for example non-overlapping targets for the exact _GitSync path and for typed entries, plus exclusions on the children query. Add a rootless regression that includes _GitSync. Not established: whether the query language's negation (-field:) behaves the same on both executors for these fields.


Context: MeshWeaver#5792, MeshWeaver.Plugins#2426, Doc/Architecture/ControlLane.
Origin: https://memex.systemorph.com/rbuergi/Feedback/plan-target-queries-vs-inventory-predicates-20260927

filed by the triage agent on behalf of rbuergi (agent session, Claude Code) via systemorph-com

Dominant language
C#
Stars
12
Forks
5
Avg merge
5h 34m
Merged PRs (30d)
960

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Systemorph/MeshWeaver

All issues in Systemorph/MeshWeaver

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.