Skip to content

docs(taxonomy): #600 link_* resolve run — 2934 candidate URLs sidecar (0 errors, 0 Cards/) - #618

Merged
jsboige merged 1 commit into
masterfrom
docs/600-link-resolve-report
Jul 1, 2026
Merged

docs(taxonomy): #600 link_* resolve run — 2934 candidate URLs sidecar (0 errors, 0 Cards/)#618
jsboige merged 1 commit into
masterfrom
docs/600-link-resolve-report

Conversation

@jsboige

@jsboige jsboige commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

PRIMAIRE of ai-01 deep-queue #2 (dispatch msg-...92kynx). Produces the candidate-URL output behind the #600 §5.1 probe ceiling — extends the coverage track from measurement (the probe, #600/#606) to resolution (the resolver tool #610, now run).

The probe answered "is this cell resolvable?" (returned lang codes, ~57 % ceiling). This PR runs the resolver tool (#610) end-to-end and materializes the actual candidate URLs as a reviewable snapshot — step 1 of #600 §6 methodology. The apply step stays gated post-release.

What it delivers

Ran tools/link-langlinks-resolve.py over the full Fallacies + Virtues taxonomy:

Dataset Articles probed Candidate fills Errors
Fallacies 741 2754 0
Virtues 88 180 0
Total 829 2934 0

3 files under docs/taxonomy/:

  • 600-link-resolve-fallacies.csv (2754 candidate URLs)
  • 600-link-resolve-virtues.csv (180 candidate URLs)
  • 600-link-resolve-report.md (this report — methodology + stats + quality + next steps)

Schema: dataset,key,link_lang,resolved_url. UTF-8, no BOM, LF.

Quality verified

URL encoding — correct per script: Cyrillic %D0, Arabic/Persian %D8, CJK %E8, PT/ES Latin unencoded. Spot-check (decoded):

  • ru Верую,_ибо_абсурдно · pt Argumentum_ad_ignorantiam · ar احتكام_إلى_الجهل · fa توسل_به_نادانی · zh 訴諸無知

Homonym scan (#600 §6.4) of all 1620 AR/FA/ZH candidates — near-zero, no real leaks:

Lang Candidates Latin-path (suspect) Real homonym
ar 603 0 (0 %)
fa 480 0 (0 %)
zh 537 3 (0.6 %) 0 — all legit (FUD ×2 acronym, Creepypasta loanword)

The "Engagement" homonym from the PR #610 sample does not recur at scale — it was an isolated node-name collision. Spot-validation stays non-optional (defensive), but residual risk is materially below the §6.4 ceiling.

Asymmetry (Virtues): ru/pt = 4 each (sparse abstract-concept coverage) vs ar/fa/zh = 46–56 — coverage reality, not a bug. Flagged for the spot-validation pass (low count = high value per cell).

Safety / scope

  • 0 write Cards/, 0 AssetConverter code change (pre-tag safe).
  • ✅ Read-only resolver run + docs snapshot. Base 18b4d023.
  • ✅ Robust: try/except + continue (skip on network error, never abort) → 0 errors / 829 probes.

Next (post-release, gated)

A follow-up PR consumes this sidecar:

  1. Apply cell-by-cell to Cards/Fallacies/ + Cards/Virtues/ taxonomy CSVs, drift-free (QUOTE_MINIMAL + CRLF + UTF-8 no-BOM, method fix(i18n): #192 passe 2 — harmonize 24 Virtues term-structure cells (RTL/CJK consistency) #595).
  2. Skip non-empty cells (preserve curated links).
  3. Human spot-validate the AR/FA/ZH residue (~5 %, ~150 cells) — same gate model as feat(translations): multi-pass quality improvement for EN/RU/PT (beyond initial translation) #192 native-ratification.
  4. Re-run the coverage probe to confirm the gap closed from ~57 % → higher.

Gated on Cards/ freeze (release coupled to DNN #131) + jsboige GO post-tag.

Relates to #600, #606, #610 (resolver tool), memory i18n-coverage-gap-is-link-urls.

… (0 errors, 0 Cards/)

PRIMAIRE of ai-01 deep-queue #2 (dispatch msg-...92kynx). Produces the
candidate-URL output behind the #600 §5.1 probe ceiling.

Ran tools/link-langlinks-resolve.py (PR #610, merged) over full Fallacies +
Virtues taxonomy: 829 articles probed -> 2934 candidate link_<lang> URLs
(fallacies 2754, virtues 180), 0 errors. Materializes the ~57% probe ceiling
(~2919 cells) into concrete reviewable URLs. Step 1 of #600 §6 methodology.

Per-lang: ru 371, pt 430, es 513, ar 603, fa 480, zh 537. Resolves FROM
link_en (Wikipedia only); 433 non-Wikipedia curated sources excluded +
preserved (#600 §6.2).

Quality verified:
  - URL encoding correct per script (Cyrillic %D0, Arabic %D8, Persian %D8,
    CJK %E8, PT/ES Latin unencoded).
  - Homonym scan (#600 §6.4) of 1620 AR/FA/ZH candidates: 0 real leaks.
    AR 0/603, FA 0/480 Latin-path; ZH 3/537 (0.6%) = legit loanwords/
    acronyms (FUD x2, Creepypasta) — not errors. The "Engagement" homonym
    from PR #610 sample does NOT recur at scale (isolated case).
  - Asymmetry: virtues ru/pt = 4 each (sparse abstract-concept coverage)
    vs ar/fa/zh 46-56 — coverage reality, flagged for spot-validation.

Sidecars (reviewable snapshot, UTF-8 no-BOM LF):
  - docs/taxonomy/600-link-resolve-fallacies.csv (2754 rows)
  - docs/taxonomy/600-link-resolve-virtues.csv (180 rows)
  schema: dataset,key,link_lang,resolved_url

Robustness: try/except + continue (skip on network error, never abort) ->
0 errors/829. Public MediaWiki API, no key, 0.3s throttle, descriptive UA.

Next (gated post-release): apply PR consumes sidecar -> cell-by-cell drift-free
(QUOTE_MINIMAL+CRLF, method #595), skip non-empty, human spot-validate ~5%
AR/FA/ZH residue (~150 cells), re-run probe to confirm gap closed.

Scope: docs/taxonomy/ only. 0 write Cards/, 0 AssetConverter code change
(pre-tag safe). Base 18b4d02.

Relates to #600, #606, #610.

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]

Quick-tier (sidecar data). Snapshot report honnête : 0 write under Cards/ (pre-tag freeze), reproductible via #610 (resolver langlinks, merged, que j'avais reviewé), gated post-release. CSV vérifié non-fabriqué : vraies URLs ru.wikipedia.org encodées (slugs cyrilliques décodables), reporte 2934 candidats / 0 erreur sur 829 articles — cohérent avec le ceiling ~57% mesuré (#600 §5.1, ne sur-déclare pas). Bon artefact pour spot-validation humaine.

@jsboige
jsboige merged commit b6d2dc7 into master Jul 1, 2026
3 checks passed
@jsboige
jsboige deleted the docs/600-link-resolve-report branch July 1, 2026 02:44
jsboige added a commit that referenced this pull request Jul 1, 2026
…ue (0 Cards/) (#619)

TERTIAIRE of ai-01 deep-queue supersede (msg-...370u0q). Read-only
scoping of the #202 "bulk EN translation" backlog.

Reframe (stale-dispatch pattern, like #609/#618): #202's Phase-2 bulk
counts (Simple_name_en 1348 empty, political_example 1373 empty) are
2-year-old and contradict the live census.

Census on master 18b4d02:
  - Fallacies core text (desc/example/text x8 langs) = 100% (census #609).
  - Only 6 _en columns total. EN > FR source on the bulk-secondary ones:
      nom_vulgarisé (FR=3%) vs Simple_name_en (EN=4%) -> 25 translatable
      exemple politique (FR=3%) vs political_example_en (EN=2%) -> 10
    => EN cells were curated directly in English; FR SOURCE is ~97% empty.
       Cannot translate content never authored.
  - Genuinely FR->EN translatable residue = ~35 cells total (trivial).
  - Scenarii baratineur leak = 0/167 (Phase-2 resolved). Virtues i18n =
    100% (#218/#236/#246/#290/#295). Rules PT fixed (#306).
  - Real i18n gap = link_* (lane #600/#618, DONE), not text.

Recommendation: close or re-scope #202. The concrete residue is (a) FR
source editorial authoring (lane #191, human, not translation), (b) a
~35-cell micro-pass, (c) link_*/AIF lanes already tracked. Do NOT launch
a bulk EN run — no source to translate on secondary cols, core is 100%.
Memory i18n-coverage-gap-is-link-urls honored (measure FR-relatively).

Scope: docs/taxonomy/202-bulk-en-scoping.md only. 0 write Cards/, 0
AssetConverter code change (pre-tag safe). Base 18b4d02.

Relates to #202, #191, #609, #600, #618.

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
…ase 2 jsboige-gated (#621)

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: 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
…free, gated post-release (#622)

SECONDAIRE of ai-01 deep-queue supersede #3 (msg-...v95b6l): the apply
harness for the #600 step "ratify -> apply" (§6), built from the #618
sidecar (2934 candidate link_<lang> URLs). Dry-run only — 0 write Cards/.

What it delivers:
  - drift-free write path (#595: QUOTE_MINIMAL + quotechar " + CRLF +
    UTF-8 no-BOM), verified to match the on-disk dialect of both CSVs.
  - skip-non-empty — refuses to overwrite any filled link_<lang> cell.
  - spot-validation ~5% of the AR/FA/ZH residue (§6.4 homonym risk):
    80 candidates inspected.

Dry-run headline (master d0856aa):
  - cands=2934, would-apply=2934, skip-nonempty=0 -> zero clobber.
  - 0 orphan-PK, 0 col-missing, 0 duplicate-(key,lang), 0 homonym.
  - Both CSVs #595 drift-safe (Fallacies: 1409 records = 1409 CRLF +
    144 intra-cell-LF benign; Virtues: 224 = 224 CRLF, 0 intra-cell-LF).
  - All 2754 fallacies URLs host-match their declared language (0 mismatch).
  - Spot-sample decoded correct: ar احتكام إلى الجهل (ignorance),
    zh 合成謬誤 (composition), zh 定錨效應 (anchoring) — no English leak.

The --apply path is wired but NOT exercised (freeze forbids Cards/
write). Post-release: `python docs/taxonomy/600-link-apply.py --apply`.

PK detection is case-insensitive (Fallacies='PK', Virtues='pk').

Scope: docs/taxonomy/600-link-apply.py + 600-link-apply-report.md only.
0 write Cards/, 0 AssetConverter code change. Base d0856aa.

Relates to #600, #618, #595, #192.

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