Skip to content

docs(repo): #415 Phase-2 affinement — Mindmapper gap (187 MB) + refreshed pack - #663

Merged
jsboige merged 1 commit into
masterfrom
docs/415-phase2-mindmapper-gap
Jul 3, 2026
Merged

docs(repo): #415 Phase-2 affinement — Mindmapper gap (187 MB) + refreshed pack#663
jsboige merged 1 commit into
masterfrom
docs/415-phase2-mindmapper-gap

Conversation

@jsboige

@jsboige jsboige commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

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 master 9c19e51a. 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 --path set — 186.7 MB missed

The proposal's git filter-repo --path prefixes are exact-prefix matches. They miss two sibling regenerable build-output trees:

Missed tree History Why missed
Generation/Converters/Argumentum.AssetConverter/Mindmapper/Published/ 129.2 MB .../AssetConverter/Mindmapper/Published ≠ prefix .../AssetConverter/Published
Cartes/Generation/Mindmap/Mindmapper/Published/ 57.5 MB Cartes/Generation/Mindmap ≠ prefix Cartes/Generation/Converters

These are regenerable dotnet publish output (same class as the main Published/): Mindmapper project source (.csproj, .sln, MindMapConfig.cs) is committed in history, binaries deleted at HEAD (0 at HEAD), and .REMOVED.git-id sentinel files alongside confirm the team already un-tracked them as build artifacts. They were misclassified into the other zone 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 --path set in the plan is updated to close the gap.

2. Pack grew, but bloat source is not recurring

size-pack 2.05 → 2.08 GiB, 3 → 4 packs, +3868 objects — but the growth is text/code only (other zone 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)

python tools/git-weight-audit.py          # pack + zone aggregation
# scratchpad/415_mindmapper_gap.py        # the 186.7 MB gap quantification

Both read-only (git plumbing). No git filter-repo / BFG / force-push run.

Relates #415, #621, #628.

🤖 Worker po-2024 (dispatch kp26j6, tertiaire)

…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 clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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-pack 2.05 → 2.08 GiB, 4 packs, +3 868 objets — la croissance est texte/code only (zone other 882.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 --path de la proposition originale sont des matchs exact-prefix → ils ratent 2 arbres siblings Mindmapper/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éfixe Cartes/Generation/Converters)
    • Gap total 186.7 MB qui aurait survécu au rewrite. C'est un vrai gotcha git filter-repo (les --path ne matchent pas les sous-chemins siblings plus profonds).
  • Blobs missed : Mindmapper osx-x64 (71.6 MB), Mindmapper.exe win-x64 (57.5 MB ×2 arbres) — régénérables (dotnet publish, 0 à HEAD, sentinels .REMOVED.git-id confirment le un-track). Appartiennent bien au strip.
  • Correctif proposé cohérent : ajoute les 2 --path manquants + 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

@jsboige
jsboige merged commit ca127d5 into master Jul 3, 2026
3 checks passed
@jsboige
jsboige deleted the docs/415-phase2-mindmapper-gap branch July 3, 2026 17:10
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