close
Skip to content

Commit 40552c6

Browse files
committed
feat: fill remaining living shelf slots
1 parent c6a09c0 commit 40552c6

2 files changed

Lines changed: 4 additions & 14 deletions

File tree

‎src/app/map/libraryLivingSlots.ts‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ export type LivingTopicSlot = {
2525
articles: DevArticleSummary[]
2626
}
2727

28-
const MAX_EMERGENT_TOPIC_SHELVES = 4
2928
const FORMING_WINDOW_MS = DAY_MS * 7
3029

3130
function normalizeTag(tag: string) {
@@ -62,8 +61,10 @@ export function resolveLivingTopicSlots(
6261
signal.articles.length >= EMERGENT_MIN_ARTICLES &&
6362
signal.score >= EMERGENT_MIN_SCORE,
6463
)
65-
.slice(0, MAX_EMERGENT_TOPIC_SHELVES)
6664

65+
// The placement table is the capacity limit. This lets every authored
66+
// latent slot become a Living Shelf when enough real DEV topics qualify,
67+
// while naturally leaving the remainder dormant for sparse datasets.
6768
const occupants = [
6869
...configured.map((tag) => ({
6970
tag,

‎src/lib/libraryEvolution.ts‎

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import {
1111
type TopicSignal,
1212
} from './libraryTopicSignals'
1313

14-
const MAX_DYNAMIC_OCCUPANTS = 4
1514
const FORMING_CONFIRMATION_CHECKS = 2
1615
const FORMING_DISSOLVE_CHECKS = 4
1716
const COOLING_TRIGGER_CHECKS = 6
@@ -344,12 +343,6 @@ export function evolveTopicSlots({
344343
.map((state) => state.topic)
345344
.filter((topic): topic is string => Boolean(topic)),
346345
)
347-
let dynamicOccupants = states.filter(
348-
(state) =>
349-
!state.configured &&
350-
state.lifecycle !== 'dormant' &&
351-
Boolean(state.topic),
352-
).length
353346
const candidates = signals.filter(
354347
(signal) =>
355348
topicQualifies(signal) &&
@@ -363,10 +356,7 @@ export function evolveTopicSlots({
363356
.map(({index}) => index)
364357

365358
for (const signal of candidates) {
366-
if (
367-
dynamicOccupants >= MAX_DYNAMIC_OCCUPANTS ||
368-
dormantIndices.length === 0
369-
) {
359+
if (dormantIndices.length === 0) {
370360
break
371361
}
372362

@@ -408,7 +398,6 @@ export function evolveTopicSlots({
408398
vitality,
409399
})
410400
occupiedTopics.add(topic)
411-
dynamicOccupants += 1
412401
}
413402

414403
return {

0 commit comments

Comments
 (0)