Link prediction on the public mindweb, reported as-is: neighbour counts lost, and a type-only prior scored higher

Plaintext article. SHA-256 25ef33c017f03cf8e5c871a9d93485676f5bf0a50342f719a9c3cf7190553818 (6138 bytes).

# Link prediction on the public mindweb, reported as-is: neighbour counts lost, and a type-only prior scored higher

**QMAI Research · 2026-10-31**

## The two verdicts, at the same rank

Experiment GNN-0 is reported as recorded. Two labels were frozen before the run, and this note gives them the same rank.¹

The primary verdict is GNN_BETTER. On the held-out pairs the graph model scored test AUC 0.922737. The best neighbour heuristic scored test AUC 0.540323. Common neighbours and Adamic-Adar tied, so the tie rule names Adamic-Adar. The difference, graph model minus that baseline, is 0.382414, and the 95 percent interval is 0.312695 to 0.44719. The lower end lies above 0, which is the frozen bar for this label.²

The diagnostic verdict is TYPE_PRIOR_BETTER. A type-only prior scored test AUC 0.993757, higher than the graph model. Graph model minus type prior is -0.07102, and the 95 percent interval is -0.136446 to -0.015479, entirely below 0. The result file says the diagnostic is not the primary verdict.³

The type-only prior reaches 0.993757 because the edges are concentrated. Only 7 of the 171 possible node-type pairs share an edge. gate+gate has 291 edges and doc+memory has 240, together 531 of the 629 usable edges. This is a count of the public graph, not a GNN-1 result.⁴

The frozen reading, adopted here, is that the gain over neighbour counts comes from node type rather than from learned graph structure. The model mostly learned which node types link.⁵

Not an Aurion product claim.

## The question

The question fixed beforehand is whether a graph autoencoder ranks held-out undirected links on the public mindweb better than common-neighbour and Adamic-Adar scores. The edges come from an extractor. A high score describes that extractor's linking habits. It is not evidence that the model understands the graph. The prediction written before the run was that neighbour scores would be weak, that the graph model would beat them, and that it would not clearly beat a type prior.⁶

## The design that was frozen

The input is the public file mindweb-graph.json, sha256 d1123063f55edf2b2da93460683f1b6ea6e9fb122a671119928d3f27893572e2, 3880614 bytes. The hash matches the pin. Edges with a missing endpoint, self-loops, and duplicate undirected pairs were dropped. Direction and edge type were ignored. The model was allowed node id and node type only.⁷

The seed is 20261030. A seeded shuffle holds out a tenth of the undirected edges for test and a twentieth for validation, with an equal number of random non-edges. Train negatives are redrawn every epoch. Message passing and both baselines see train edges only.⁸

Each node carries a one-hot of its type, a one-hot of its identity, and a constant. The encoder is two graph layers with an inner-product decoder. Training is full-batch Adam, with no early stopping and no model selection.⁹

## Why the neighbour scores are weak

Common neighbours and Adamic-Adar need a shared neighbour in the train graph. A node with no train edge has no train neighbour to share. Of 3501 nodes, 2993 have train degree 0. The pre-registration expected this weakness, because many held-out edges touch low-degree nodes.¹⁰

## What this run does not show

These limits were written before the run. Beating the neighbour scores does not show structure past node type, because the type prior won. It is not evidence that the model understands the mindweb. Random negatives are an easy bar, with no rank score, and the split is a shuffle rather than a split by time. One seed and one split means the interval covers the test pairs only. Hyperparameters were not tuned. Direction, edge type, any internal layer, and node text were left out.¹¹

## What GNN-1 will test

GNN-1 is a plan; no measurement from it. Inside one node-type pair, with type-matched negatives, it asks whether a text GCN beats an untrained text cosine, the primary comparator. Only pairs with at least 80 usable edges are scored, so the pairs are exactly gate+gate and doc+memory, and two pairs is a thin set. The diagnostics are an MLP with no message passing, and the type prior as a sanity line rather than the verdict.¹²

## Reproducibility

The stored pre-registration hash is 8af20079d4d5197e358fef6ad0428eeb24c8cb3a44f80cf4955b8e902298e5ca. The deterministic hash is 58a281090b52b0f57bfdbfc0b0570af4ad4834d6194aa8c7f9414a43a174b6ba. This draft follows the form of the published check at https://qmai.dev/research/articles/ibm-bell-state-check-2026-10-30/.¹³

Not an Aurion product claim.

## Sources

1. RESULT.json key experiment.
2. RESULT.json keys primary.verdict, primary.auc_gcn, primary.auc_best_baseline, primary.best_baseline, primary.comparison, primary.auc_diff, and primary.ci95. metrics.test.cn.auc equals metrics.test.aa.auc. PREREG.md lines 72, 78, 79, and 81.
3. RESULT.json keys diagnostic_vs_type_prior.verdict, metrics.test.type_prior.auc, diagnostic_vs_type_prior.auc_diff, diagnostic_vs_type_prior.ci95, and diagnostic_vs_type_prior.note. PREREG.md lines 79, 82, and 85.
4. COUNTS.json has 7 pair rows and 18 types, so 171 unordered pairs. gate/gate usable_edges 291 and doc/memory usable_edges 240 sum to 531. edges_usable_undirected is 629. Not a GNN-1 result.
5. PREREG.md line 85.
6. PREREG.md lines 43, 70, 95, and 87.
7. RESULT.json keys input.sha256 and input.bytes. PREREG.md lines 20, 22, 43, and 44.
8. RESULT.json key seed. PREREG.md lines 46, 47, 52, and 53.
9. RESULT.json key hyperparameters.features. PREREG.md lines 57 and 64.
10. RESULT.json keys graph_stats.nodes and graph_stats.nodes_with_train_degree_0. PREREG.md line 87.
11. PREREG.md lines 96, 95, 97, 98, 99, 100, and 101.
12. PREREG_GNN1.md sha256 28879d8d5719a591d46f373534a0efb389e6029ff0097b59e278c08641167857. Lines 36, 42, 54, 30, 20, 21, 70, 50, 56, and 76: a text GCN with type-matched negatives, the untrained cosine as the primary baseline, a bar of 80, only gate+gate and doc+memory, an MLP on identity adjacency, the type prior as a sanity line, and one scored pair as an anecdote.
13. RESULT.json keys prereg_sha256 and deterministic_sha256. PREREG.md line 91.