Skip to content

docs(repo): #415 git-weight audit — Phase 1 already closed (#416), Phase 2 jsboige-gated - #621

Merged
jsboige merged 1 commit into
masterfrom
docs/415-git-weight-audit
Jul 1, 2026
Merged

docs(repo): #415 git-weight audit — Phase 1 already closed (#416), Phase 2 jsboige-gated#621
jsboige merged 1 commit into
masterfrom
docs/415-git-weight-audit

Conversation

@jsboige

@jsboige jsboige commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Idle of ai-01 deep-queue supersede (msg-…370u0q): the #415 .git weight analysis. Read-only audit + reproducible tool. 0 write Cards/.

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:

The audit confirms it on 18b4d023: regenerable zones are 0 bytes at HEAD (untracked), surviving only in history.

Regenerable zone In history At HEAD
Published/ .NET builds 1.2 GB (42) 0
DNN Downloads zips 206 MB (12) 0
2sxc/DNN .resources 152 MB (197) 0

size-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

  • Phase 2 (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.
  • Phase 3 — design sources to preserve (Packaging *.ai/pdf/svg 97 MB, Sketch 45 MB, card PNG 76 MB) → Git LFS or external; jsboige decision. Must NOT be touched by a blind filter-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:

git clone --filter=blob:none https://github.com/ArgumentumGames/Argumentum.git

No partialclone.filter default 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.pypython 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.
  • 0 write Cards/, 0 AssetConverter code change (pre-tag safe). Base 18b4d023.

Relates to #415, #416, #501, #134. 4th stale-dispatch refresh this session (after #609/#618/#619).

…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 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 (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 au ff031470 cité 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.

@jsboige
jsboige merged commit d0856aa into master Jul 1, 2026
3 checks passed
@jsboige
jsboige deleted the docs/415-git-weight-audit branch July 1, 2026 02:45
jsboige added a commit that referenced this pull request Jul 1, 2026
…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>
jsboige added a commit that referenced this pull request Jul 1, 2026
…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>
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