Skip to content

fix(linkgraph): recover hyphenated infobox Related-concept aliases - #1948

Merged
taopedia-site-maintainer[bot] merged 1 commit into
e35ventura:testfrom
galuis116:fix/linkgraph-hyphenated-related-aliases
Jul 1, 2026
Merged

fix(linkgraph): recover hyphenated infobox Related-concept aliases#1948
taopedia-site-maintainer[bot] merged 1 commit into
e35ventura:testfrom
galuis116:fix/linkgraph-hyphenated-related-aliases

Conversation

@galuis116

Copy link
Copy Markdown
Contributor

Summary

  • recover local linkgraph/backlink edges from infobox "Related concept" values that spell a compound term with a hyphen (e.g. Commit-reveal) instead of the article's space-separated title (Commit Reveal, slug commit_reveal)
  • buildSlugAliases now also registers the opposite hyphen/underscore variant for every alias key that contains either, so either spelling of a compound term resolves to the same article (never overwriting an existing alias, matching the existing first-write-wins rule)

Target Branch

  • This PR targets test

Testing

  • npm run test:linkgraph-data-order passes
  • npm run test:linkgraph-infobox passes
  • npm run test:linkgraph-slug-collision passes
  • npm run build passes
  • UI changes include before/after screenshots: N/A (no UI changes)

Security Checklist

  • No secrets, tokens, build hooks, wallet seeds, or private endpoints
  • No unnecessary workflow, dependency, or deployment changes

Current article infoboxes already set Related concept: Commit-reveal (a hyphenated compound), but the linkgraph currently drops that edge even though a matching local article (commit_reveal, titled "Commit Reveal") already exists, because slugify() only turns spaces into underscores and never touches an author-written hyphen, so the hyphenated label never matches any alias key generated from the article's own slug/title.

Examples fixed by the generated-data checks in this diff:

  • invalid_reveal_commit_hash_not_match now links locally to commit_reveal from its infobox Related concept: Commit-reveal
  • no_weights_commit_found now links locally to commit_reveal from its infobox Related concept: Commit-reveal
$ npm run test:linkgraph-data-order
Linkgraph generated-data order check passed
$ npm run test:linkgraph-infobox
Linkgraph infobox JSON check passed
$ npm run test:linkgraph-slug-collision
Linkgraph slug collision check passed
$ npm run build
# completes successfully

Infobox "Related concept" values are free text, not always the exact
article title. invalid_reveal_commit_hash_not_match and
no_weights_commit_found both set Related concept to "Commit-reveal",
but the target article is titled "Commit Reveal" (slug commit_reveal).
slugify() only turns spaces into underscores, so the hyphenated form
never matched any generated alias key and the edge was silently
dropped.

buildSlugAliases now also registers the opposite hyphen/underscore
variant for every alias key that contains either, so either spelling
of a compound term resolves to the same article.
@galuis116
galuis116 requested a review from e35ventura as a code owner July 1, 2026 07:20
@taopedia-site-maintainer taopedia-site-maintainer Bot added the other Maintenance, deployment, tooling, validation, or repo work outside preferred categories label Jul 1, 2026
@taopedia-site-maintainer

Copy link
Copy Markdown

Verdict: Close

PR #1948: fix(linkgraph): recover hyphenated infobox Related-concept aliases

This PR is labeled other, so failed local validation is a close decision.

Cross-repo validation:

  • pass merged checkout: Validated site PR head 688cc52 merged into test, with articles test.
  • pass npm ci: Dependencies installed.
  • fail cross-repo build: <--- Last few GCs --->

[2286052:0x43d39000] 62024 ms: Scavenge (interleaved) 975.2 (1003.6) -> 974.5 (1003.6) MB, pooled: 0 MB, 61.17 / 0.00 ms (average mu = 0.530, current mu = 0.388) allocation failure;
[2286052:0x43d39000] 62115 ms: Scavenge (interleaved) 976.1 (1003.6) -> 975.7 (1012.9) MB, pooled: 0 MB, 81.94 / 0.00 ms (average mu = 0.530, current mu = 0.388) allocation failure;

<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
----- Native stack trace -----

1: 0xe42d60 node::OOMErrorHandler(char const*, v8::OOMDetails const&) [node]
2: 0x121ded0 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
3: 0x121e1a7 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
4: 0x144d015 [node]
5: 0x14668a9 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
6: 0x143afa8 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
7: 0x143bed5 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
8: 0x1414ade v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node]
9: 0x18772bc v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [node]
10: 0x1dd5af6 [node]
Aborted (core dumped)


Automated review by Taopedia Site Maintainer.

@taopedia-site-maintainer

Copy link
Copy Markdown

Verdict: Close

PR #1948: fix(linkgraph): recover hyphenated infobox Related-concept aliases

This PR is labeled other, so failed local validation is a close decision.

Cross-repo validation:

  • pass merged checkout: Validated site PR head 688cc52 merged into test, with articles test.
  • pass npm ci: Dependencies installed.
  • fail cross-repo build: > taopedia@0.0.1 prebuild

node scripts/sync-articles.js && node scripts/generate-history.js && node scripts/build-linkgraph.js

Synced 682 published articles from taopedia-articles
Generating article history from Git...
✓ account_not_allowed_commit (1 revisions)
✓ account_rejects_locked_alpha (1 revisions)
✓ active_lock_exists (1 revisions)
✓ active_uid (29 revisions)
✓ activity_cutoff (32 revisions)
✓ activity_cutoff_factor (4 revisions)
✓ activity_cutoff_factor_milli_out_of_bounds (1 revisions)
✓ activity_cutoff_too_low (1 revisions)
✓ address_poisoning_scams (22 revisions)
✓ adjustment_interval (12 revisions)
✓ admin_action_prohibited_during_weights_window (1 revisions)
✓ admin_freeze_window (1 revisions)
✓ all_networks_in_immunity (1 revisions)
✓ alpha_distribution_ratio (35 revisions)
✓ alpha_halving (33 revisions)
✓ alpha_high (12 revisions)
✓ alpha_high_too_low (1 revisions)
✓ alpha_low (11 revisions)
✓ alpha_low_out_of_range (1 revisions)
✓ alpha_outstanding (32 revisions)
✓ alpha_price (31 revisions)
✓ alpha_reserve (38 revisions)
✓ alpha_sigmoid_steepness (10 revisions)
✓ alpha_staker (31 revisions)
✓ alpha_tokens (38 revisions)
✓ already_approved (1 revisions)
✓ already_deposited (1 revisions)
✓ already_finalized (1 revisions)
✓ already_stored (1 revisions)
✓ amount_too_low (1 revisions)
✓ announced_coldkey_hash_does_not_match (1 revisions)
✓ announcement_deposit_invariant_violated (1 revisions)
✓ arbitrage (18 revisions)
✓ arithmetic_overflow (1 revisions)
✓ auto_epoch_already_imminent (1 revisions)
✓ autostaking (35 revisions)
✓ axon (32 revisions)
✓ back_running (16 revisions)
✓ bad_enc_key_len (1 revisions)
✓ bad_origin (1 revisions)
✓ balance_low (1 revisions)
✓ balance...


Automated review by Taopedia Site Maintainer.

@taopedia-site-maintainer

Copy link
Copy Markdown

Verdict: Close

Automerge was blocked by final merged-result validation.

Final validation:

  • pass merged checkout: Validated site PR head 688cc52 merged into test, with articles test.
  • pass npm ci: Dependencies installed.
  • fail cross-repo build: ...(truncated)
    wallet_applications (10 revisions)
    ✓ wallet_location (24 revisions)
    ✓ wallets (30 revisions)
    ✓ wallets_coldkey_hotkey (27 revisions)
    ✓ wash_trading (15 revisions)
    ✓ weight_copying (43 revisions)
    ✓ weight_exceeds_absolute_max (1 revisions)
    ✓ weight_matrix (41 revisions)
    ✓ weight_setting (42 revisions)
    ✓ weight_vec_length_is_low (1 revisions)
    ✓ weight_vec_not_equal_size (1 revisions)
    ✓ weight_vector (41 revisions)
    ✓ weights_rate_limit (14 revisions)
    ✓ weights_version_key (29 revisions)
    ✓ wrong_timepoint (1 revisions)
    ✓ yuma3_enabled (1 revisions)
    ✓ yuma_consensus (54 revisions)
    ✓ yuma_consensus_3 (16 revisions)
    ✓ yuma_version (3 revisions)
    ✓ zero_max_stake_amount (1 revisions)
    ✓ zero_share_in_batch (1 revisions)
    ✓ Generated history for 689 articles
    Building link graph and backlinks...
    ✓ Built link graph for 689 pages
    ✓ Generated 175 backlink entries
    ✓ Indexed 42 categories

taopedia@0.0.1 build
astro build

�[2m19:31:35�[22m �[34m[content]�[39m Syncing content
�[2m19:31:36�[22m �[34m[content]�[39m Synced content
�[2m19:31:36�[22m �[34m[types]�[39m Generated �[2m2.21s�[22m
�[2m19:31:36�[22m �[34m[build]�[39m output: �[34m"static"�[39m
�[2m19:31:36�[22m �[34m[build]�[39m mode: �[34m"static"�[39m
�[2m19:31:36�[22m �[34m[build]�[39m directory: �[34m/var/lib/taopedia-site-maintainer/repos/taopedia/dist/�[39m
�[2m19:31:36�[22m �[34m[build]�[39m Collecting build info...
�[2m19:31:36�[22m �[34m[build]�[39m �[32m✓ Completed in 2.25s.�[39m
�[2m19:31:36�[22m �[34m[build]�[39m Building static entrypoints...
�[2m19:32:22�[22m �[34m[vite]�[39m �[32m✓ built in 45.66s�[39m
�[2m19:32:22�[22m �[34m[vite]�[39m �[32m✓ built in 223ms�[39m
�[2m19:32:23�[22m �[34m[build]�[39m Rearranging server assets...

�[42m�[30m generating static routes �[39m�[49m

The bot validates the PR merged into the latest target branch before merging.


Automated review by Taopedia Site Maintainer.

@taopedia-site-maintainer taopedia-site-maintainer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Verdict: Auto-merge approved

PR #1948: fix(linkgraph): recover hyphenated infobox Related-concept aliases

Codebase value:

  • Codex and Claude agreed the site/codebase improvement is worth the added maintenance surface.

Automated reviewers:

  • Codex: The PR fixes a present generated-data correctness issue for existing article content and is locally/GitHub validated.
  • Claude: approve

Cross-repo validation:

  • pass merged checkout: PR head 688cc52 merges cleanly into test. Build/render is validated by the required GitHub Actions build check.

Automated review by Taopedia Site Maintainer.

@taopedia-site-maintainer
taopedia-site-maintainer Bot merged commit b496cd7 into e35ventura:test Jul 1, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

other Maintenance, deployment, tooling, validation, or repo work outside preferred categories

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants