docs(repo): #415 git-weight audit — Phase 1 already closed (#416), Phase 2 jsboige-gated - #621
Conversation
…ase 2 jsboige-gated Idle of ai-01 deep-queue supersede (msg-...370u0q): #415 .git weight analysis. Read-only audit + reproducible tool. 0 write Cards/. Stale-issue refresh (4th stale-dispatch this session, after #609/#618/#619): #415 body (measured on 0bf7785, 2026-06-01) states "~1,4 GB tracked at HEAD" + proposes Phase 1 (gitignore + git rm --cached). Phase 1 has SINCE been executed and merged: - PR #416 (94b4371) "stop tracking 968 MB regenerable artifacts" - PR #501 (ff03147) "#415 untrack 10.5 MB 2sxc install module" Audit on master 18b4d02 (tools/git-weight-audit.py, reproducible): - size-pack = 2.05 GiB (matches issue; Phase 1 doesn't reduce pack). - Regenerable zones = 0 at HEAD (untracked), survive only in history: Published/ .NET builds 1.2 GB (42 paths) DNN Downloads zips 206 MB (12) 2sxc/DNN .resources 152 MB (197) -> Phase 1 is CLOSED. The 2 GB is 100% historical. Phase 2 (filter-repo) = the ONLY remaining weight-reducer (~1.5-1.6 GB reclaimable -> <200 MB clone). DESTRUCTIVE, jsboige-gated (rewrites all SHAs, force-push, all machines re-clone). Not autonomous. Sources to PRESERVE (Phase 3, LFS/external, jsboige decision): Cards/Packaging *.ai/pdf/svg 97 MB, Sketch .sketch 45 MB, card PNG 76 MB. Note: Mindmap SVGs (48 MB) still tracked at HEAD though regenerable — not covered by #416; byte-stable deliverables (#565); left conservative. Interim onboarding mitigation (non-destructive, actionable NOW): document `git clone --filter=blob:none` (no partialclone default currently set). This is the one concrete release-safe action recommended. Scope: tools/git-weight-audit.py + docs/repo/415-git-weight-audit.md only. 0 write Cards/, 0 AssetConverter code change. Base 18b4d02. Relates to #415, #416, #501, #134. Co-Authored-By: Claude-Code <noreply@anthropic.com>
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw]
LGTM (audit-tier, lecture complète + tool lu + claims vérifiés contre l'état live). C'est exactement le genre d'audit repo-poids qu'il faut : mesuré, reproductible, honnête sur ce qui est fait vs reste.
Vérifié contre l'état live du dépôt :
- Claim « Phase 1 déjà fermée via #416 » ✓ TRUE. #416 = « stop tracking 968 MB of regenerable build artifacts (#415 Phase 1) », closed 2026-06-01.
- Claim PR #501 second volet Phase 1 ✓ TRUE. #501 merged au commit
ff031470— correspond byte-pour-byte auff031470cité dans l'audit. Le corps du #415 est bien stale sur ce point. - Référence #134 (releases comme home des distributables) ✓ #134 open, cité à bon escient.
Le tool tools/git-weight-audit.py est read-only ✓ — vérifié ligne par ligne : seules opérations git = count-objects -vH, rev-list --objects --all, cat-file --batch-check, ls-tree -r -l HEAD. Zéro rm/add/push/commit/checkout/filter-repo. Le claim « 0 write » est exact. Le script déduplique bien les blobs d'historique par path (garde la plus grosse version), agrège par zone avec flag régénérabilité — reproductible, pas de chiffres boîte noire.
Le raisonnement opérationnel est correct et prudent : Phase 1 (gitignore + git rm --cached) ne réduit pas le pack — ça n'arrête que la ré-addition au HEAD — donc le size-pack 2,05 GiB inchangé est attendu et bien expliqué. Phase 2 (filter-repo) est à juste titre gated sur Emerjesse : réécriture destructive de tous les SHA → backup + force-push coordonné + re-clone de toutes les machines + invalidation des refs de PR ouvertes. La distinction régénérable (Published/, Downloads, .resources = purgables) vs à préserver (sources design Cards/Packaging/*.ai, Sketch = LFS candidates) est nette. Et la mitigation intérimaire non-destructive (git clone --filter=blob:none) débloque l'onboarding indépendamment de la décision Phase 2 — c'est la bonne recommandation actionnable maintenant.
Net : audit sain, claims factuels vérifiés, tool read-only, decision-gating correct sur Phase 2/3. Prêt à merger.
…abrication (#626) * docs(taxonomy): #141 AIF Stage-1 full-scale results — 1232 nodes, 0 fabrication PRIMAIRE of ai-01 deep-queue supersede #3 (msg-...v95b6l): the full-scale AIF Stage-1 candidate sidecar + coverage/WARN report. The generator was shipped in #623; this is the run output (1232/1232 non-card nodes, gpt-5.5 assist, dry-run, 0 write Cards/). Headline — anti-fab closed-set HOLDS at full scale: - 1232 nodes covered (100% of Fallacies non-cards, the #609 gap). - 3850 crossLinks (3.12/node, 100% nodes) + 2310 AIF refs (1.88/node, 96% nodes). - confidence mean 0.73, median 0.72 (1301 high >=0.8 / 2460 mid / 89 low). - FABRICATION = 0. invalid targets = 0. invalid verbs = 0. The closed-set design (targets from enumerated real nodes, AIF tokens from the 60-token observed Walton vocab) contains LLM fabrication completely across 1232 nodes. crossLink verb mix: IsRelatedTo 42% / Leverages 33% / Mirrors 15% / Allows 7% / Inverts 2% / Opposes 1% / PredatesOn 1% / Denounces <1%. Honest improvement vs pilot: Opposes/PredatesOn/Denounces were 0 in the 28-node pilot (flagged limitation) -> non-zero at scale (sample was too small to surface them); still sparse, conservative-but-incomplete. Top Walton DirectRef schemes well-represented: Bias_Inference 262, Sign_Inference 119, Ethotic_Inference 117, EvidenceToHypothesis 94. WARN = 87 nodes (7%), ALL bad_map:* (mappingType outside the observed {broad,close,narrow}Match set: relatedMatch 78, none 5, exactMatch 2, noMatch 2). These are LEGIT SKOS predicates -> a schema-extension decision for the expert gate, NOT fabrications. none/noMatch = hedge candidates to DROP during ratification. Sidecars: 141-aif-candidates-fullscale.csv (1.1 MB, flat, reviewable, committed) + report. The structured JSON (1.4 MB) is regenerable via --finalize from the checkpoint and is NOT committed (repo already 2.05 GiB per #415/#621 — limit additive weight). 1 node (6.3.1.2.3.1.4 Hypocrisie morale) failed once on an API read- timeout, recovered on a 1-node resume (0 content/parse errors). Scope: docs/taxonomy/141-aif-candidates-fullscale.csv + report only. 0 write Cards/, 0 AssetConverter code change. Base 0e39425. Next (gated post-release): Stage 2 dry-run diff, Stage 3 expert/jsboige ratification gate (decide relatedMatch/exactMatch schema extension, drop none/noMatch hedges, prioritize >0.8 candidates), Stage 4 -> #130 OWL / #136 2sxc. Relates to #141, #609, #620, #130, #136, #192. Co-Authored-By: Claude-Code <noreply@anthropic.com> * docs(taxonomy): #141 AIF Stage-2 dry-run diff — 9 conflict / 2 confirm / 5 silent Read-only diff of the Stage-1 sidecar (#626) against the 12 non-card nodes that already carry an AIF value on the taxonomy (0.97% — the other 1220 are entirely net-new, no conflict possible). High-signal prep for the expert gate: - 2 CONFIRM: gpt-5.5 independently re-derived the exact expert token (Ignorance_Inference, VagueVerbalClassification_Inference) — closed-set produces real Walton mappings. - 9 CONFLICT: 1 field-swap/churn node (Pente glissante) + 5 frank token disagreements → gate must adjudicate, not auto-apply. - 5 SILENT: generator stayed silent on a filled field → gate must preserve existing values. Adds 141-aif-stage2-diff.py (read-only, 0 Cards/ write), 16-row diff.csv, and a Stage-2 section to the report. Same scope/honors pre-tag freeze. Co-Authored-By: Claude-Code <noreply@anthropic.com> --------- Co-authored-by: Your <your.email@example.com> Co-authored-by: Claude-Code <noreply@anthropic.com>
…tion) (#628) Interprets the Phase-1 audit (#621, git-weight-audit.py). Quantifies the reduction: ~1.55 GB of fully-regenerable build artifacts in history (Published/ .NET builds 1.2 GB + DNN Downloads zips 205 MB + .resources 150 MB) -> repo 2.05 GiB to ~0.45-0.5 GiB (~75%). Includes a costed git filter-repo plan + 6 explicit risks (force-push to master, 8 open PRs break, tag/release integrity, SHA-shift cascades, filter-repo remote-removal foot-gun, mindmap SVG provenance). Recommendation: DEFER to post-v0.9.0-tag (rewrite during the freeze with 8 open PRs + pending tag = max risk, zero release benefit). Go/no-go = jsboige. Flags design sources (Packaging 97 MB, Sketch 45 MB) as preserve/LFS, out of scope. PROPOSAL ONLY — no clone, no force-push, no history mutation. Reproducible via python tools/git-weight-audit.py. Co-authored-by: Your <your.email@example.com> Co-authored-by: Claude-Code <noreply@anthropic.com>
Summary
Idle of ai-01 deep-queue supersede (
msg-…370u0q): the #415.gitweight analysis. Read-only audit + reproducible tool. 0 writeCards/.Finding — Phase 1 of #415 is already CLOSED (stale-issue refresh)
The #415 body (measured
0bf77852, 2026-06-01) states "~1,4 GB de binaires encore trackés au HEAD" and proposes Phase 1 (gitignore +git rm --cached). Phase 1 has since been executed and merged:94b43712— stop tracking 968 MB of regenerable build artifactsff031470— untrack 10.5 MB 2sxc install moduleThe audit confirms it on
18b4d023: regenerable zones are 0 bytes at HEAD (untracked), surviving only in history.Published/.NET buildsDNN Downloads zips2sxc/DNN .resourcessize-pack= 2.05 GiB — unchanged from the issue (Phase 1 doesn't reduce the pack; it stops re-adding at HEAD). The weight is now 100 % historical.What remains
git filter-repo) is the only remaining weight-reducer — ~1.5–1.6 GB reclaimable → projected clone < 200 MB. DESTRUCTIVE, jsboige-gated (rewrites all SHAs → backup + coordinated force-push + all machines re-clone). Not autonomous.*.ai/pdf/svg97 MB, Sketch 45 MB, card PNG 76 MB) → Git LFS or external; jsboige decision. Must NOT be touched by a blindfilter-repo.One concrete release-safe action recommended
Document the partial-clone mitigation for onboarding NOW — it unblocks new machines independent of the Phase-2 decision:
No
partialclone.filterdefault is currently set, so new clones still fetch all 2 GB. Surfacing this command (README onboarding) is non-destructive and directly addresses #415's original pain ("clone is very long").Reproducibility
tools/git-weight-audit.py—python tools/git-weight-audit.py. Measures pack size, top history blobs (deduped), top HEAD files, zone aggregation with regenerability flags + proof-of-preservation.Note
Mindmap SVGs (48 MB) are still tracked at HEAD though regenerable — not covered by #416; they are byte-stable deliverables (#565); left conservative rather than untracked blindly.
Safety / scope
tools/git-weight-audit.py(read-only git plumbing) +docs/repo/415-git-weight-audit.md. 184 insertions.Cards/, 0 AssetConverter code change (pre-tag safe). Base18b4d023.Relates to #415, #416, #501, #134. 4th stale-dispatch refresh this session (after #609/#618/#619).