Repository navigation
Description
What is failing
The sealed GitSync import is a delta between two commits, so it writes only the files that moved
between the previous sealed commit and the new one. That is correct exactly while the mesh equals
the previous commit's tree. Where anything else has written the partition since, the import leaves
those files alone — and the partition ends up holding one file from each tree, which is the mix
Doc/Architecture/OnePartitionOneBookkeeping
describes, reached from the other side.
This is the mirror image of gate 2 (#4355). Gate 2 stops the INSTALLER from diffing against a
baseline it does not own. Nothing stops the SYNC from doing the same thing, and its baseline is just
as much a claim about the mesh: "this partition is at commit X".
Measured (memex.systemorph.com, 2026-09-17)
Hosting is a GitSync partition held at the commit sealed for the running framework.
- 14:34:30Z — the boot install wrote
main's tree into it (Plugins/Hosting,
installedFromRef: HEAD), includingHosting/Issue/Test/IssueTests.cs. - 16:04:02Z —
Hosting/_GitSyncadvanced061976bc→d98fc2ac,lastSyncOutcome: Imported. - The import wrote
Hosting/Issue/Source/IssueLayoutAreas.cs— it changed between those two
commits — and did not writeHosting/Issue/Test/IssueTests.cs, which did not change
between them. The mesh therefore kept the installer'smaincopy of the test beside the seal's
copy of the view:
CS0117 Error: 'IssueLayoutAreas' does not contain a definition for 'Facts'
CS0117 Error: 'IssueLayoutAreas' does not contain a definition for 'StatusBadge' / 'SeverityBadge'
| file | at d98fc2ac |
at main |
in compare 061976bc...d98fc2ac? |
|---|---|---|---|
Issue/Source/IssueLayoutAreas.cs |
0 occurrences of those members | 7 | yes → written |
Issue/Test/IssueTests.cs |
0 references | 6 | no → not written |
Hosting/Issue has been the one type at compilationStatus: Error in that partition since
(1 of 1, namespace:Hosting scope:descendants nodeType:NodeType content.compilationStatus:Error,
coverage hosting).
Why this is filed separately from #4588
#4588's cause — the unattended boot install resolving an unproven ref into that partition — is fixed
by #4619, which removes the unattended second writer. The delta's blind spot is still there, and
two writers a person chose can still reach it:
- a human's Update to latest click (the documented escape, which gate 2 makes a FULL install —
and the sync's next delta then leaves those files); - a local checkout mirror source (Self-registry install silently stops mirroring its mounted checkouts — the repos land on the seed-once lane, and neither auto-update mechanism applies #3359 — the operator is the authority), the residue named in
the gate 1c section ofOnePartitionOneBookkeeping.
In both cases the partition is left a mix by the import, silently, and the only signal is a compiler
error naming a member a sibling source does define.
What a fix would have to decide
Not proposed here — it is a cost/consistency trade-off that wants the maintainer:
- Detect rather than always-full. The sync already knows the commit it believes the partition
is at. Comparing the partition's files against the sealed tree (the shape
InstallCompletenessuses for the install record) would say whether a full re-import is
needed, at the cost of one listing. - Full re-import when the baseline is not the sync's own. The symmetric answer to gate 2:
where another writer has touched the partition since the recorded commit, the delta is not
available.ReconcileAtProvenCommitFromGitHubalready has a whole-partition re-import path (it
is what the boot sweep's declined adoptions drive); this would be about when it is chosen. - Do nothing and rely on one-writer. Defensible once fix(#4588): the boot install holds an UNPROVEN ref where another writer keeps the partition current #4619 lands: with no unattended second
writer, the remaining paths are human-authored. This issue would then be the record of what the
delta cannot see, and the residue stays named in the doc.
Not done
Read-only measurement — no mesh write, no cluster access, nothing remediated. The live instance
heals itself for this particular file as soon as a seal lands that carries the IssueTests.cs
change (it is modified between d98fc2ac and main).
Measured 2026-09-17 by Claude Opus 5 while fixing #4588: get / search on
memex.systemorph.com, REST contents / compare on MeshWeaver.Plugins.
Activity