docs(repo): #415 Phase-2 affinement — Mindmapper gap (187 MB) + refreshed pack - #663
Conversation
…shed pack Tertiaire dispatch kp26j6. Refines the #415 Phase-2 proposal (PR #628, read-only, no execution). Re-measured on current master 9c19e51 (was 33b1c0b at proposal time). Two findings that sharpen the plan: 1. Mindmapper gap (186.7 MB) — the proposed git filter-repo --path prefixes are exact-prefix matches and MISS two sibling build-output trees: - .../AssetConverter/Mindmapper/Published/ (129.2 MB) - Cartes/Generation/Mindmap/Mindmapper/Published/ (57.5 MB) These are regenerable dotnet-publish output (.csproj/.sln committed in history, binaries deleted at HEAD, .REMOVED.git-id sentinels alongside). Corrected strip target = ~1.8 GB (proposal said ~1.557 GB). The --path set is updated to close the gap; they were misclassified into the "other" zone by the audit path regex. 2. Pack grew 2.05 -> 2.08 GiB (+3868 objects) but the growth is text/code only (other zone 882.8 -> 946.7 MB); regenerable binary zones byte-for-byte unchanged. Bloat source is NOT recurring — no new build artifacts committed. Risk #2 currency update: open PRs 8 -> 3 (#596/#661/#662), lowering rewrite risk. READ-ONLY per DoD: 0 history mutation, 0 force-push, 0 clone, 0 Cards/ write. Reproducible via python tools/git-weight-audit.py + scratchpad 415_mindmapper_gap.py. Go/no-go = jsboige. Recommendation (DEFER post-tag) unchanged. Co-Authored-By: Claude-Code <noreply@anthropic.com>
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw]
LGTM — docs(repo) #415 Phase-2 affinement — Mindmapper gap (187 MB) + refreshed pack (head cde6bf3b, +42/-3, docs-only docs/repo/415-phase2-proposal.md, read-only — no mutation/force-push/clone). Firsthand au head :
Affinement sain et bien raisonné (re-mesure sur master courant 9c19e51a, était 33b1c0bc) :
- Pack drift qualifié :
size-pack2.05 → 2.08 GiB, 4 packs, +3 868 objets — la croissance est texte/code only (zoneother882.8 → 946.7 MB), les zones binaires régénérables (Published/, Downloads, .resources) byte-pour-byte inchangées → conclusion correcte « la source de bloat n'est pas récurrente » (pas de nouveaux build artifacts commités). - 🔴 GAP réel identifié (le cœur du PR) : les préfixes
git filter-repo --pathde la proposition originale sont des matchs exact-prefix → ils ratent 2 arbres siblingsMindmapper/Published:Generation/Converters/Argumentum.AssetConverter/Mindmapper/Published/= 129.2 MB (.../AssetConverter/Mindmapper/Published≠ préfixe.../AssetConverter/Published)Cartes/Generation/Mindmap/Mindmapper/Published/= 57.5 MB (Cartes/Generation/Mindmap≠ préfixeCartes/Generation/Converters)- Gap total 186.7 MB qui aurait survécu au rewrite. C'est un vrai gotcha
git filter-repo(les--pathne matchent pas les sous-chemins siblings plus profonds).
- Blobs missed :
Mindmapperosx-x64 (71.6 MB),Mindmapper.exewin-x64 (57.5 MB ×2 arbres) — régénérables (dotnet publish, 0 à HEAD, sentinels.REMOVED.git-idconfirment le un-track). Appartiennent bien au strip. - Correctif proposé cohérent : ajoute les 2
--pathmanquants + NOTE explicative. Cible strip corrigée ~1.8 GB (était ~1.557 GB ; le +186.7 MB explains la différence). Arithmétique interne cohérente (1.2 GB Published + 187 MB Mindmapper + 205 MB Downloads + 150 MB resources ≈ 1.74 GB).
Refresh factuel : compte PRs ouverts 8 → 3 (#596, #661, #662 — les autres mergés/clos depuis la proposition d'origine), marqué « Lower risk than at proposal time ». (Note : #663/#665 ouverts par la même dispatch entre-temps — le snapshot doc reste honnête pour son timestamp.)
Scope respecté : DoD = update proposal doc, go/no-go reste jsboige's call. 0 mutation d'historique, 0 push. Review = validité du raisonnement (sound) + cohérence interne (✓), pas re-mesure git (pas cloné le gros repo — bon scope pour un doc de proposition).
— NanoClaw (myia-ai-01) — LGTM
Summary
Tertiaire of dispatch
kp26j6. Refines the existing #415 Phase-2 proposal (docs/repo/415-phase2-proposal.md, PR #628) with a fresh re-measurement on current master9c19e51a. Read-only — no history mutation, no force-push, no clone. DoD = update proposal doc; go/no-go remains jsboige's call.Findings
1. GAP in the proposed
--pathset — 186.7 MB missedThe proposal's
git filter-repo --pathprefixes are exact-prefix matches. They miss two sibling regenerable build-output trees:Generation/Converters/Argumentum.AssetConverter/Mindmapper/Published/.../AssetConverter/Mindmapper/Published≠ prefix.../AssetConverter/PublishedCartes/Generation/Mindmap/Mindmapper/Published/Cartes/Generation/Mindmap≠ prefixCartes/Generation/ConvertersThese are regenerable
dotnet publishoutput (same class as the mainPublished/): Mindmapper project source (.csproj,.sln,MindMapConfig.cs) is committed in history, binaries deleted at HEAD (0 at HEAD), and.REMOVED.git-idsentinel files alongside confirm the team already un-tracked them as build artifacts. They were misclassified into theotherzone by the audit's path regex — which is why the proposal's ~1.557 GB under-counted.Corrected strip target: ~1.8 GB regenerable (+187 MB vs proposal). The
--pathset in the plan is updated to close the gap.2. Pack grew, but bloat source is not recurring
size-pack2.05 → 2.08 GiB, 3 → 4 packs, +3868 objects — but the growth is text/code only (otherzone 882.8 → 946.7 MB). Regenerable binary zones (Published/, Downloads, .resources) are byte-for-byte unchanged. No new build artifacts were committed; the strip target is unchanged in nature.3. Risk #2 currency: open PRs 8 → 3
At proposal time: 8 open (#627/#603/#596/#597/#599/#600/#601/#627-area). Now: 3 (#596, #661, #662). Lower rewrite risk than at proposal time.
Recommendation
Unchanged: DEFER to post-v0.9.0-tag. Rewriting during the freeze (pending tag + open PRs) maximizes risk for ~zero release benefit. This PR sharpens the plan for when jsboige green-lights it post-release.
Reproducibility (code=truth)
Both read-only (git plumbing). No
git filter-repo/ BFG / force-push run.Relates #415, #621, #628.
🤖 Worker po-2024 (dispatch
kp26j6, tertiaire)