Inference
8 pages filed under Decisions › inference. A decision is a choice made for the project, with its context, its options and what it affects.
| Decision | Date | First line | Links |
|---|---|---|---|
| MinHash for twin resources | 2026-09-13 | The text similarity that helps recognise the forms of one document works on extracted text, never on binary content, and never compares every pair. Each text goes to its comparison form, then to shingles of five words, then to a MinHash signature of 128 functions under a fixed seed; LSH banding, four rows per band, enumerates the candidate pairs, two signatures that share no band being never compared, so that the full matrix is never built. In auto mode the pairs estimated at 0.5 or more have their exact Jaccard index recomputed on the full shingle sets, and the finding gives the share of lines in common; a pair whose word counts differ by more than half is an inclusion rather than a duplicate and its content signal is capped. Resources are sorted by identifier before anything else, so two runs give the same result. | 21 |
| Type-driven neighbour order | 2026-09-13 | The neighbourhood panel of a page lists neighbour types in a priority order declared per type in the profile: operations first on an API, accessed objects on a screen, what it applies to on a rule. Every displayed neighbour carries the rank of its type; unlisted types and keyword pages share the last rank, confidence decides within a group, and the panel is truncated after this ordering. A type without a declaration keeps the order by decreasing confidence. The order is profile data, never a condition in a template: the panel renders the list as received and separates the groups by rank alone. | 17 |
| Types as modules | 2026-09-13 | A type of the profile is a folder that carries everything the type needs: its declaration, its labels per interface language, its note template and, when the generic page is not enough, the components that render it. The core types are written that way and the default profile is assembled from them, so that the format the engine ships is the format a team extends it with: a project keeps its own modules in a folder its profile names, a plugin contributes modules through a contribution point of the plugin API, and the build merges them before the keys of the project profile, plugins first, refusing a module of a core type, which is extended through the profile, and two modules of one type. The site never learns a type slug: the entity page exposes the declaration of the type and every attribute of the note, declared and not, and a dedicated component for a type, an attribute or a mapped section is resolved by name, the project theme first, then the module, then the generic page, which remains correct when nothing specific is said. | 17 |
3 inference of 3 — pagination by twenty. The Links column counts the related pages, which brings the most central inference of the journey to the top.