Conversation
…Volumes syntax, fix FullNeighborRecalc budget logic Co-authored-by: devlux76 <86517969+devlux76@users.noreply.github.com>
…, HierarchyBuilder quota enforcement, fix pre-existing lint errors Co-authored-by: devlux76 <86517969+devlux76@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR continues the Metroid→Semantic neighbor API migration and extends Williams-bound policy usage across ingestion, query, and maintenance paths, while updating mocks/tests to match the evolving MetadataStore interface.
Changes:
- Renames remaining test/mocks and sharing code to use
SemanticNeighbor*APIs and*NeighborRecalcdirty flags. - Adds Williams-derived helpers to
core/HotpathPolicy(computeNeighborMaxDegree,computeSubgraphBounds,computeFanoutLimit) and corresponding unit tests. - Integrates Williams-derived bounds into
FastNeighborInsert,Querysubgraph expansion, and adds hierarchy fanout enforcement logic.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/sharing/SubgraphExchange.test.ts | Updates mock MetadataStore to semantic neighbor APIs + new required CRUD methods. |
| tests/integration/Daydreamer.test.ts | Renames dirty-flag API usage to *NeighborRecalc. |
| tests/HotpathPolicy.test.ts | Adds unit tests for new Williams-derived HotpathPolicy helpers. |
| tests/daydreamer/PrototypeRecomputer.test.ts | Updates mocks/types to semantic neighbor APIs + new MetadataStore methods. |
| tests/daydreamer/HebbianUpdater.test.ts | Updates mocks/types to semantic neighbor APIs + new MetadataStore methods. |
| tests/daydreamer/FullNeighborRecalc.test.ts | Renames sync helpers + dirty-flag API usage to semantic neighbor naming. |
| tests/daydreamer/ClusterStability.test.ts | Fixes duplicate import, updates semantic neighbor naming, and extends mock to new interface methods. |
| tests/benchmarks/HotpathScaling.bench.ts | Extends benchmark MetadataStore stub with new interface methods. |
| storage/IndexedDbMetadataStore.ts | Adds/repairs getAllVolumes() implementation (needed by new consumers). |
| sharing/SubgraphExporter.ts | Switches exporter expansion to getSemanticNeighbors. |
| hippocampus/HierarchyBuilder.ts | Adds Williams-derived fanout quota enforcement with split logic for oversized volumes/shelves. |
| hippocampus/FastNeighborInsert.ts | Derives semantic neighbor max degree from Williams bound when policy is provided. |
| daydreamer/PrototypeRecomputer.ts | Removes unused imports/variables; keeps centroid recompute while explicitly skipping non-page salience updates. |
| daydreamer/FullNeighborRecalc.ts | Renames neighbor APIs and adjusts budget logic to always process at least one dirty volume. |
| daydreamer/ClusterStability.ts | Renames label-propagation options and switches to semantic neighbor APIs; updates module header docs. |
| cortex/Query.ts | Computes dynamic subgraph expansion bounds via computeSubgraphBounds. |
| core/HotpathPolicy.ts | Introduces Williams-derived helper functions for degree, expansion bounds, and fanout limits. |
| const allPages = await metadataStore.getAllPages(); | ||
| const subgraphBounds = computeSubgraphBounds(allPages.length); | ||
| const effectiveMaxHops = options.maxHops ?? subgraphBounds.maxHops; |
There was a problem hiding this comment.
@copilot Ok resolve the issue using your best judgement, verify there are no negative downstream effects and update the DESIGN.md if needed.
There was a problem hiding this comment.
Fixed in 901d002: getAllPages() is now gated behind if (options.maxHops === undefined) — when the caller provides an explicit maxHops, the full-page scan is skipped entirely. No downstream effects; the warm-spill path has its own independent getAllPages() call which remains unchanged.
…Recalc budget floor, FastNeighborInsert default degree, PrototypeRecomputer docstring Co-authored-by: devlux76 <86517969+devlux76@users.noreply.github.com>
…IGN.md and README.md Co-authored-by: devlux76 <86517969+devlux76@users.noreply.github.com>
storage/IndexedDbMetadataStore.tssyntax bugdaydreamer/ClusterStability.tsdaydreamer/FullNeighborRecalc.ts: MIN_RECALC_PAIR_BUDGET=2048 floorsharing/SubgraphExporter.tsdaydreamer/PrototypeRecomputer.tsdocstring and lint errorsFastNeighborInsert— Williams-derived max degree always appliedQuery.ts—getAllPages()gated behindoptions.maxHops === undefinedHierarchyBuilderquota enforcement — per-node threshold, deleteVolume(), proper variance, shelf in-place updateOriginal prompt
💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.