@bongos/core 1.22.1 → 1.22.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/.bongos-core.json +131 -126
  2. package/docs/module-api-changelog.md +2 -0
  3. package/modules/agents/lib/answer-hold.js +1 -1
  4. package/modules/agents/lib/fire-budget.js +1 -1
  5. package/modules/autonomy/cadence.js +3 -3
  6. package/modules/autonomy/config-idle.js +1 -1
  7. package/modules/autonomy/fence.js +1 -1
  8. package/modules/autonomy/gauge.js +2 -2
  9. package/modules/autonomy/governor-docket.js +0 -1
  10. package/modules/autonomy/server-schedule.js +1 -1
  11. package/modules/builder-settings/builder-needs.js +1 -3
  12. package/modules/builder-settings/event-sound-prefs.js +0 -1
  13. package/modules/builder-settings/law-locks.js +0 -1
  14. package/modules/builder-settings/model-alloc-prefs.js +0 -5
  15. package/modules/builder-settings/profile-nudge-prefs.js +0 -1
  16. package/modules/builder-settings/render-prefs.js +0 -1
  17. package/modules/builder-settings/skill-prefs.js +0 -2
  18. package/modules/builder-settings/sound-prefs.js +0 -3
  19. package/modules/builder-settings/wandering-prefs.js +0 -2
  20. package/modules/copy-desk/artist-stats.js +1 -1
  21. package/modules/copy-desk/flags.js +1 -1
  22. package/modules/copy-desk/guarded-lines.js +1 -1
  23. package/modules/copy-desk/page-status.js +0 -5
  24. package/modules/copy-desk/proposals.js +0 -2
  25. package/modules/copy-desk/registry.js +1 -1
  26. package/modules/copy-desk/stuck-tweaks.js +1 -1
  27. package/modules/economy/credits-by-craft.js +0 -2
  28. package/modules/economy/streak.js +0 -3
  29. package/modules/government/asks-db.js +1 -1
  30. package/modules/government/asks.js +0 -1
  31. package/modules/government/decision-board.js +0 -1
  32. package/modules/government/docket.js +0 -6
  33. package/modules/government/leads.js +0 -1
  34. package/modules/government/positions.js +1 -1
  35. package/modules/government/recommendations.js +0 -3
  36. package/modules/government/routing.js +1 -1
  37. package/modules/government/treasury-db.js +1 -1
  38. package/modules/government/treasury.js +2 -2
  39. package/modules/grading/grade-engine.js +0 -1
  40. package/modules/ideas/completeness.js +1 -1
  41. package/modules/ideas/descent.js +0 -1
  42. package/modules/ideas/governor-docket.js +0 -2
  43. package/modules/ideas/idea-state.js +0 -1
  44. package/modules/ideas/ideator-stats.js +1 -1
  45. package/modules/ideas/votes.js +1 -1
  46. package/modules/lifecycle/autopickup-files.js +0 -3
  47. package/modules/lifecycle/conflict-resolve.js +0 -1
  48. package/modules/lifecycle/criterion-uat-db.js +0 -4
  49. package/modules/lifecycle/dead-deps.js +2 -2
  50. package/modules/lifecycle/est-advisory.js +1 -1
  51. package/modules/lifecycle/goal-category.js +0 -3
  52. package/modules/lifecycle/goal-spec-task.js +1 -1
  53. package/modules/lifecycle/governor-docket.js +0 -1
  54. package/modules/lifecycle/kickoff-seed.js +1 -1
  55. package/modules/lifecycle/mingle.js +3 -3
  56. package/modules/lifecycle/page-tweak-claim.js +1 -1
  57. package/modules/lifecycle/rebase-gate.js +1 -1
  58. package/modules/lifecycle/removal-derivation.js +0 -1
  59. package/modules/lifecycle/routes/abandon-handler.js +1 -1
  60. package/modules/lifecycle/routes/version-route-authz.js +0 -1
  61. package/modules/lifecycle/ship-card.js +1 -1
  62. package/modules/lifecycle/ship-preflight.js +0 -1
  63. package/modules/lifecycle/sky.js +1 -1
  64. package/modules/lifecycle/task-classifier.js +0 -1
  65. package/modules/lifecycle/task-visuals.js +0 -2
  66. package/modules/lifecycle/version-close.js +0 -1
  67. package/modules/memory/memory.js +0 -1
  68. package/modules/memory/search-chunker.js +1 -1
  69. package/modules/memory/search.js +0 -3
  70. package/modules/npm-release/preview/divert.js +1 -1
  71. package/modules/npm-release/preview/runtime.js +1 -1
  72. package/modules/onboarding/founding-builders.js +1 -1
  73. package/modules/onboarding/founding-mode.js +1 -1
  74. package/modules/onboarding/howto-guide.js +1 -1
  75. package/modules/onboarding/howto-state.js +1 -1
  76. package/modules/onboarding/onboarding-state.js +0 -4
  77. package/modules/onboarding/onboarding.js +0 -6
  78. package/modules/page-notes/notes.js +0 -1
  79. package/modules/platform-identity/community-leaderboard.js +0 -1
  80. package/modules/platform-identity/hub-keys.js +0 -2
  81. package/modules/platform-identity/instance-feedback.js +0 -1
  82. package/modules/platform-identity/read-rate-limit.js +1 -1
  83. package/modules/platform-identity/visibility-pull.js +0 -9
  84. package/modules/provisioning/app-status.js +1 -1
  85. package/modules/provisioning/catalog-bridge.js +0 -1
  86. package/modules/provisioning/core-upgrade.js +1 -1
  87. package/modules/provisioning/credential-preflight.js +1 -1
  88. package/modules/provisioning/demo.js +2 -2
  89. package/modules/provisioning/look.js +1 -1
  90. package/modules/provisioning/routes/callback-page.js +1 -1
  91. package/modules/raise/raise.js +1 -1
  92. package/modules/render-deploy/deploys.js +1 -1
  93. package/modules/security/artifact-scan/aggregate.js +0 -4
  94. package/modules/security/artifact-scan/detectors/capabilities.js +1 -1
  95. package/modules/security/artifact-scan/detectors/config-obfuscation.js +1 -1
  96. package/modules/security/artifact-scan/detectors/credentials.js +1 -1
  97. package/modules/security/artifact-scan/detectors/dependencies.js +1 -1
  98. package/modules/security/artifact-scan/detectors/injection.js +1 -1
  99. package/modules/security/artifact-scan/detectors/network.js +1 -1
  100. package/modules/security/artifact-scan/detectors/npm-lifecycle.js +1 -1
  101. package/modules/security/artifact-scan/detectors/permissions.js +1 -1
  102. package/modules/security/artifact-scan/detectors/shared.js +0 -3
  103. package/modules/security/artifact-scan/floor.js +0 -3
  104. package/modules/security/artifact-scan/mirror.js +1 -1
  105. package/modules/security/artifact-scan/quarantine.js +0 -1
  106. package/modules/security/artifact-scan/rebuild-spec.js +0 -2
  107. package/modules/security/artifact-scan/report.js +1 -1
  108. package/modules/security/artifact-scan/sanitize.js +0 -2
  109. package/modules/security/secret-scrub.js +0 -4
  110. package/modules/security/security.js +0 -2
  111. package/modules/sessions/accessibility.js +0 -2
  112. package/modules/sessions/bfg.js +0 -4
  113. package/modules/sessions/upload-health.js +0 -3
  114. package/modules/specialities/db.js +1 -1
  115. package/modules/specialities/specialities.js +1 -1
  116. package/modules/ui-design/kit/lib.js +2 -2
  117. package/package-lock.json +2 -2
  118. package/package.json +1 -1
  119. package/release-notes.json +6 -0
  120. package/src/module-api.js +1 -1
  121. package/tests/modules_external_export_contract.mjs +48 -0
@@ -3211,5 +3211,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
3211
3211
  md-reader.js, both escAttr; and primer.js's fallback escaped nothing.
3212
3212
  1.22.1 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3213
3213
  landed since 1.22.0 with no explicit bump. run 40264537233. (task 1002620)
3214
+ 1.22.2 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3215
+ landed since 1.22.1 with no explicit bump. run 40266740044. (task 1002620)
3214
3216
  ---------------------------------------------------------------------------
3215
3217
  ```
@@ -88,4 +88,4 @@ function createAnswerHold({ maxHeld = MAX_HELD, ttlMs = TTL_MS, now = () => Date
88
88
  };
89
89
  }
90
90
 
91
- module.exports = { createAnswerHold, MAX_HELD, TTL_MS };
91
+ module.exports = { createAnswerHold, TTL_MS };
@@ -106,4 +106,4 @@ function createFireBudget({
106
106
  };
107
107
  }
108
108
 
109
- module.exports = { createFireBudget, DEFAULT_LIMIT, DEFAULT_WINDOW_MS, MAX_TRACKED_BUILDERS };
109
+ module.exports = { createFireBudget, DEFAULT_LIMIT, MAX_TRACKED_BUILDERS };
@@ -342,7 +342,7 @@ function shouldJumpWait(before, after) {
342
342
  }
343
343
 
344
344
  module.exports = {
345
- CLASSES, COUNTS_AS_FAILURE, SYSTEMIC_MARKERS, DEFAULTS, START,
346
- looksSystemic, classifyEvent, nextCadence, signalFingerprint, shouldJumpWait,
347
- workerNeverRan, WORKER_RAN_FLOOR_S,
345
+ CLASSES, COUNTS_AS_FAILURE, DEFAULTS, START,
346
+ classifyEvent, nextCadence, signalFingerprint, shouldJumpWait,
347
+ workerNeverRan,
348
348
  };
@@ -188,5 +188,5 @@ function createNotifier({ post = null, channel = 'ship_news' } = {}) {
188
188
 
189
189
  module.exports = {
190
190
  GRACE_S, LONG_GRACE_S, CONFIG_IDLE,
191
- configIdleCode, trackIdle, idleEvent, markBeat, parseIdleEvent, pendingCode, noticeDecision, noticeText, createNotifier,
191
+ configIdleCode, trackIdle, idleEvent, markBeat, parseIdleEvent, pendingCode, noticeText, createNotifier,
192
192
  };
@@ -361,4 +361,4 @@ function decideTask({ task, goals = [], protectedHits = [] } = {}) {
361
361
  return { go: true, code: null, reason: null };
362
362
  }
363
363
 
364
- module.exports = { REFUSALS, HOST_ACCESS_PATTERNS, HOST_ACCESS_MIN_SIGNALS, normaliseFence, prioritise, allowedGoals, effectiveFence, decideRun, decideTask, needsHostAccess };
364
+ module.exports = { REFUSALS, normaliseFence, prioritise, allowedGoals, effectiveFence, decideRun, decideTask, needsHostAccess };
@@ -301,6 +301,6 @@ function decideCapacity({ gauge, now, config = {} } = {}) {
301
301
  }
302
302
 
303
303
  module.exports = {
304
- decideCapacity, readGauge, reserveFor, weeklyPace, whenPaceAllows, localHour,
305
- cfg, DEFAULT_CONFIG, WEEK_SECONDS, DEFAULT_STALE_AFTER_S,
304
+ decideCapacity, readGauge, reserveFor, weeklyPace, whenPaceAllows,
305
+ cfg, DEFAULT_CONFIG, DEFAULT_STALE_AFTER_S,
306
306
  };
@@ -288,5 +288,4 @@ module.exports = {
288
288
  runningFloor,
289
289
  spendingLimitFloor,
290
290
  reportsFloor,
291
- fenceHistory,
292
291
  };
@@ -34,4 +34,4 @@ function periodMs(routine) {
34
34
  return CADENCE_MS[row.cadence];
35
35
  }
36
36
 
37
- module.exports = { SERVER_ROUTINES, CADENCE_MS, periodMs, DAY_MS, WEEK_MS };
37
+ module.exports = { SERVER_ROUTINES, periodMs, DAY_MS, WEEK_MS };
@@ -385,9 +385,7 @@ module.exports = {
385
385
  computeNeeds,
386
386
  // exported for tests / direct reuse
387
387
  artKeyNeed,
388
- helpRequestsNeed, taskRecommendationsNeed, boardVotesNeed, mingleIntroductionsNeed, stuckPageTweakNeeds,
389
- foundingGraceActive,
388
+ helpRequestsNeed, taskRecommendationsNeed, boardVotesNeed, mingleIntroductionsNeed,
390
389
  FOUNDING_GRACE_DAYS,
391
- SETTINGS_PATH,
392
390
  NEED_PRIORITY,
393
391
  };
@@ -169,7 +169,6 @@ module.exports = {
169
169
  EVENT_DEFAULT,
170
170
  KNOWN_EVENT_IDS,
171
171
  KNOWN_VARIANT_IDS,
172
- EVENT_VARIANTS,
173
172
  resolveVariant,
174
173
  resolveWav,
175
174
  listEffective,
@@ -194,7 +194,6 @@ function locksFor(route, locks) {
194
194
 
195
195
  module.exports = {
196
196
  settingSpec,
197
- locksOf,
198
197
  lockedPrefs,
199
198
  checkPatch,
200
199
  describe,
@@ -133,14 +133,9 @@ module.exports = {
133
133
  RESERVED_KEY,
134
134
  ALLOWED_TIERS,
135
135
  SLOTS,
136
- SLOT_KEYS,
137
- isValidTier,
138
- codeDefaults,
139
136
  storedOverride,
140
- instanceDefault,
141
137
  effectiveAllocation,
142
138
  contractFor,
143
- slotCatalog,
144
139
  describeForApi,
145
140
  validatePatch,
146
141
  applyPatch,
@@ -115,7 +115,6 @@ function applyPatch(existing, patch) {
115
115
  module.exports = {
116
116
  RESERVED_KEY,
117
117
  DEFAULT_DISMISSED,
118
- overrideDismissed,
119
118
  nudgeDismissed,
120
119
  missingProfileFields,
121
120
  shouldNudge,
@@ -328,7 +328,6 @@ module.exports = {
328
328
  DEFAULT_ENABLED,
329
329
  LEVELS,
330
330
  // the ladder
331
- isLevel,
332
331
  levelRank,
333
332
  showsCard,
334
333
  showsWidget,
@@ -187,8 +187,6 @@ module.exports = {
187
187
  ALLOWED_MODELS,
188
188
  KNOWN_SKILLS,
189
189
  SKILL_DEFAULTS,
190
- isAllowedModel,
191
- isKnownSkill,
192
190
  getForBuilder,
193
191
  listEffective,
194
192
  validatePatch,
@@ -165,14 +165,11 @@ module.exports = {
165
165
  KNOWN_SOUNDS,
166
166
  SOUND_META,
167
167
  SOUND_DEFAULTS,
168
- VOLUME_KEY,
169
- VOLUME_DEFAULT,
170
168
  isKnownSound,
171
169
  getForBuilder,
172
170
  listEffective,
173
171
  effectiveMap,
174
172
  getVolume,
175
- clampVolume,
176
173
  validatePatch,
177
174
  applyPatch,
178
175
  };
@@ -302,12 +302,10 @@ function applyPatch(existing, patch) {
302
302
  module.exports = {
303
303
  LEVELS,
304
304
  LEVEL_META,
305
- LEVEL_CONTRACT,
306
305
  RANK_WANDERING,
307
306
  rankWandering,
308
307
  RANK_DEFAULT,
309
308
  RANK_MAX,
310
- TOP_LEVEL,
311
309
  RESERVED_KEY,
312
310
  isLevelInt,
313
311
  levelKey,
@@ -67,4 +67,4 @@ async function readArtistPages(builderId, { limit = 10, offset = 0 } = {}) {
67
67
  return { rows: all.slice(offset, offset + limit), total: all.length, inventory_known: !!inv.ok };
68
68
  }
69
69
 
70
- module.exports = { tallyCreditRows, readArtistStats, readArtistPages, TALLY_ROW_CAP };
70
+ module.exports = { tallyCreditRows, readArtistStats, readArtistPages };
@@ -326,7 +326,7 @@ async function resolvePageAsks({ pageId, taskId, resolvedBy, shippedAt }) {
326
326
  }
327
327
 
328
328
  module.exports = {
329
- SCOPES, FLAG_SCOPES, PAGE_SCOPE, STATUSES, KINDS, CLOSING_STATUSES, MIN_REASON_CHARS, MAX_REASON_CHARS, MAX_NOTE_CHARS,
329
+ SCOPES, FLAG_SCOPES, STATUSES, KINDS, CLOSING_STATUSES, MIN_REASON_CHARS, MAX_REASON_CHARS, MAX_NOTE_CHARS,
330
330
  tidy, normalizeFlagPayload, normalizeResolution, normalizePageAsk,
331
331
  insertFlag, listFlags, getFlag, closeFlag,
332
332
  findOpenPageAsk, countPageAskers, pageAskSummary, resolvePageAsks,
@@ -86,4 +86,4 @@ function checkList(readings, list = loadList()) {
86
86
  // Test seam: a fixture list for the route-level tests; null goes back to the file.
87
87
  function _setList(list) { cached = list; }
88
88
 
89
- module.exports = { _setList, LIST_PATH, loadList, guardsFor, guardForLine, guardWarnings, checkList, missingPhrases };
89
+ module.exports = { _setList, loadList, guardForLine, guardWarnings, checkList };
@@ -943,19 +943,14 @@ module.exports = {
943
943
  composeEditor,
944
944
  TALLY_REASON_PREFIX,
945
945
  NEXT_ALTERNATIVES,
946
- NEXT_TIERS,
947
946
  composeNext,
948
- SURFACE_ORDER,
949
- SURFACE_LABELS,
950
947
  STATUS,
951
948
  indexRounds,
952
949
  countsFor,
953
950
  driftFor,
954
951
  roundState,
955
- changelogFor,
956
952
  composePages,
957
953
  textLinesOf,
958
- WORST_PAGES,
959
954
  composePage,
960
955
  lastRoundShippedAt,
961
956
  composeTally,
@@ -273,11 +273,9 @@ function resolveTargetVersion(versions) {
273
273
  }
274
274
 
275
275
  module.exports = {
276
- PROPOSAL_SCHEMA,
277
276
  resolveTargetVersion,
278
277
  FENCE,
279
278
  PLACEHOLDER,
280
- MIN_WHY_CHARS,
281
279
  MAX_WHY_CHARS,
282
280
  MAX_TEXT_CHARS,
283
281
  tidy,
@@ -310,7 +310,7 @@ function composeQueue({ registry, index, flags, allFlags }) {
310
310
  }
311
311
 
312
312
  module.exports = {
313
- REGISTRY_REL, REGISTRY_ABS, GENERATOR_CMD,
313
+ REGISTRY_REL,
314
314
  loadRegistry, _resetCache,
315
315
  indexRegistry, hasSurface, occurrencesOf, snapshotFor, searchEntries,
316
316
  annotateFlag, duplicateCandidates, composeQueue,
@@ -76,4 +76,4 @@ async function runDigest({ nowMs = Date.now(), state, post, readStuckImpl = read
76
76
  return { posted: !!(r && r.posted), reason: r && r.reason, text };
77
77
  }
78
78
 
79
- module.exports = { DIGEST_CHANNEL, DIGEST_HOUR_UTC, CACHE_MS, readStuck, readStuckCached, readStuckFor, digestDue, runDigest, _resetCache };
79
+ module.exports = { CACHE_MS, readStuckCached, readStuckFor, runDigest, _resetCache };
@@ -199,10 +199,8 @@ module.exports = {
199
199
  creditsByCraft,
200
200
  foldCraftRows,
201
201
  apportion,
202
- craftOfDiscipline,
203
202
  craftForPreference,
204
203
  earnedCrafts,
205
204
  CRAFTS,
206
- DISCIPLINE_CRAFT,
207
205
  CREDITS_BY_CRAFT_SQL,
208
206
  };
@@ -316,10 +316,7 @@ module.exports = {
316
316
  computeStreak,
317
317
  wouldExtendStreak,
318
318
  streakPreviewsForTasks,
319
- previewFromStreak,
320
319
  // Exported for testing
321
320
  qualifyingShipDays,
322
- todayInBuilderTz,
323
- ymdToOrdinal,
324
321
  computeRunsFromShipDays,
325
322
  };
@@ -87,4 +87,4 @@ async function unclearFor(matterIds) {
87
87
  return out;
88
88
  }
89
89
 
90
- module.exports = { saveAsk, asksFor, flagUnclear, unclearFor, MAX_READ };
90
+ module.exports = { saveAsk, asksFor, flagUnclear, unclearFor };
@@ -256,7 +256,6 @@ module.exports = {
256
256
  CAPS,
257
257
  BUILDINGS,
258
258
  SEAT,
259
- MATTER_ID,
260
259
  ASK_REQUIRED_MESSAGE,
261
260
  checkAsk,
262
261
  refusalLine,
@@ -607,7 +607,6 @@ module.exports = {
607
607
  validateMatterAction,
608
608
  matterActFor,
609
609
  MATTER_ACTIONS,
610
- MATTER_ACT_POINT,
611
610
  openMatter,
612
611
  checkActAlone,
613
612
  leadsView,
@@ -913,23 +913,17 @@ module.exports = {
913
913
  EXPECTED_SOURCES,
914
914
  COMING_SOURCES,
915
915
  COMING_FLOORS,
916
- SOURCE_TIMEOUT_MS,
917
- normalizeFloor,
918
- normalizeHistory,
919
916
  normalizeActs,
920
917
  normalizeDeskRow,
921
918
  loadGovernment,
922
- SETTLED_WINDOW_MS,
923
919
  normalizeMatter,
924
920
  gateAllows,
925
- compareMatters,
926
921
  homeLine,
927
922
  boardMatter,
928
923
  fairnessReading,
929
924
  registeredContributions,
930
925
  buildDocket,
931
926
  docketFor,
932
- attachAsks,
933
927
  findMatter,
934
928
  findMatterFor,
935
929
  loadSeats,
@@ -161,7 +161,6 @@ function leadsView(rows, archons, { includePast = false, rights = null, structur
161
161
  module.exports = {
162
162
  CHARTER_MAX,
163
163
  DEFAULT_CHARTERS,
164
- LEAD_ACTS,
165
164
  isLeadAct,
166
165
  charterLine,
167
166
  answerFor,
@@ -104,4 +104,4 @@ async function readPositions(builderId, reads) {
104
104
  }
105
105
  }
106
106
 
107
- module.exports = { positionsOf, readPositions, titleOf, KINDS, KIND_ORDER };
107
+ module.exports = { positionsOf, readPositions, titleOf, KINDS };
@@ -222,11 +222,8 @@ function recommendationsFor({ type, headcount } = {}) {
222
222
 
223
223
  module.exports = {
224
224
  PROJECT_TYPES,
225
- SIZE_BANDS,
226
225
  JOB_GRANTS,
227
- JOB_NAMES,
228
226
  JOB_CAN,
229
- normalizeType,
230
227
  sizeBandFor,
231
228
  recommendedCharter,
232
229
  recommendedRankSet,
@@ -151,4 +151,4 @@ function passRefusal(matter, viewerId, toSeat, ctx, now = Date.now()) {
151
151
  return null;
152
152
  }
153
153
 
154
- module.exports = { seatOf, seatLabel, resolveSeat, routeMatter, routeAll, passRefusal, BUILDING_NAMES };
154
+ module.exports = { seatOf, resolveSeat, routeMatter, routeAll, passRefusal, BUILDING_NAMES };
@@ -163,4 +163,4 @@ async function openBorrowRows() {
163
163
  return rows.map((r) => ({ row: r, ask: stored.get(treasury.matterId(r.id)) || null }));
164
164
  }
165
165
 
166
- module.exports = { readSpend, listPots, listOpenGoals, listBorrows, getBorrow, readCap, readTreasury, setPot, goalById, fileBorrows, answerBorrow, openBorrowRows };
166
+ module.exports = { getBorrow, readTreasury, setPot, goalById, fileBorrows, answerBorrow, openBorrowRows };
@@ -235,7 +235,7 @@ function borrowMatter(borrow, { title, canAnswer = false } = {}) {
235
235
  }
236
236
 
237
237
  module.exports = {
238
- MATTER_SOURCE, SEAT, ROUND_USD, MAX_BUDGET_USD, ANSWERS, ACT_KEY,
239
- monthKey, prevMonth, monthGone, parseBudget, capView, borrowAmount, needsBorrow,
238
+ MATTER_SOURCE, SEAT, MAX_BUDGET_USD, ANSWERS,
239
+ monthKey, prevMonth, parseBudget, borrowAmount, needsBorrow,
240
240
  buildTreasury, borrowView, matterId, goalName, borrowAsk, answerOf, borrowMatter,
241
241
  };
@@ -256,7 +256,6 @@ function replayRecorded({ signals, workType } = {}) {
256
256
 
257
257
  module.exports = {
258
258
  PIPELINE_STAGES,
259
- WORK_TYPE_PORT_PREFIX,
260
259
  applyDeterministicGate,
261
260
  listWorkTypes,
262
261
  registerWorkType,
@@ -112,4 +112,4 @@ function weakestSectionPayload(fieldValues, { templateKey = DEFAULT_TEMPLATE_KEY
112
112
  };
113
113
  }
114
114
 
115
- module.exports = { completenessScore, scoreFieldValues, substanceOf, weakestField, weakestSectionPayload };
115
+ module.exports = { completenessScore, scoreFieldValues, weakestField, weakestSectionPayload };
@@ -275,7 +275,6 @@ async function syncDescentForTask(taskId, { client = null } = {}) {
275
275
 
276
276
  module.exports = {
277
277
  DESCENT_MAX_DEPTH,
278
- DESCENT_RELATIONS,
279
278
  linkTaskDescent,
280
279
  ancestorsOfTask,
281
280
  descendantsOfTask,
@@ -221,10 +221,8 @@ function contributeIdeasToDocket() {
221
221
  module.exports = {
222
222
  contributeIdeasToDocket,
223
223
  blockerDocketMatter,
224
- blockerOptions,
225
224
  ratifyDeskRows,
226
225
  rulesReading,
227
226
  rulesFloor,
228
227
  rulesHistory,
229
- countRoutedThisMonth,
230
228
  };
@@ -247,7 +247,6 @@ module.exports = {
247
247
  IDEA_STATES,
248
248
  IDEA_STATE_VALUES,
249
249
  IDEA_POSITIONS,
250
- AWAITING_NOD_STATUS,
251
250
  taskFactsFromIdeaRow,
252
251
  resolveIdeaState,
253
252
  attachStateToTrail,
@@ -146,4 +146,4 @@ async function readIdeatorStats(builderId, deps = {}) {
146
146
  return summarizeIdeatorTrail(ideas, { ideatorCredits, ratifiedIds, truncated: sky && sky.truncated, total: sky && sky.total });
147
147
  }
148
148
 
149
- module.exports = { readIdeatorStats, summarizeIdeatorTrail, PUBLIC_VIEWER_RANK };
149
+ module.exports = { readIdeatorStats, summarizeIdeatorTrail };
@@ -90,4 +90,4 @@ async function readIdeaVotes(pool, { voterId, ids }) {
90
90
  return out;
91
91
  }
92
92
 
93
- module.exports = { castIdeaVote, readIdeaVotes, ideaVoteTally };
93
+ module.exports = { castIdeaVote, readIdeaVotes };
@@ -130,10 +130,7 @@ function refusalMessage(r) {
130
130
  }
131
131
 
132
132
  module.exports = {
133
- SHIP_WRITES,
134
- pageIdFromRef,
135
133
  pageFiles,
136
- decideFiles,
137
134
  readRound,
138
135
  autoPickupFileRefusal,
139
136
  refusalMessage,
@@ -551,5 +551,4 @@ module.exports = {
551
551
  unmergedPaths,
552
552
  hasConflictMarkers,
553
553
  GENERATOR_SCRIPTS,
554
- MARKER_GREP_RE,
555
554
  };
@@ -271,10 +271,6 @@ async function setBackendOnly({ criterionId, builderId, backendOnly, authorize }
271
271
 
272
272
  module.exports = {
273
273
  DEPLOY_PORT,
274
- linkedTasks,
275
- summarizeLinked,
276
- currentSignoff,
277
- isBackendOnly,
278
274
  readLive,
279
275
  signOff,
280
276
  recordOverride,
@@ -340,6 +340,6 @@ function findProseGatedTasks(tasks, statusById) {
340
340
  module.exports = {
341
341
  DEAD_DEP_STATUSES, LIVE_STATUSES,
342
342
  absorbedInto, depRefusalRow, splitDeadDeps, deadDepHint, findStrandedTasks,
343
- proseGatedIds, findProseGatedTasks, idCandidates, GATE_PHRASE_RE, GATE_WINDOW, OTHER_ENTITY_RE,
344
- LIVENESS_BEFORE_RE, LIVENESS_AFTER_RE, IMPORT_ID_OFFSETS,
343
+ proseGatedIds, findProseGatedTasks, idCandidates,
344
+ IMPORT_ID_OFFSETS,
345
345
  };
@@ -186,4 +186,4 @@ async function buildEstAdvisory({ db, task } = {}) {
186
186
  }
187
187
  }
188
188
 
189
- module.exports = { adviseEstimate, pickRatio, buildEstAdvisory, calibrationSummary, resetCalibrationCache, CALIBRATION_TTL_MS, MIN_MATERIAL_DELTA, SCALE_OK_RATIO, MIN_KIND_SAMPLES, MIN_OVERALL_SAMPLES };
189
+ module.exports = { adviseEstimate, pickRatio, buildEstAdvisory, calibrationSummary, resetCalibrationCache, CALIBRATION_TTL_MS, MIN_MATERIAL_DELTA, SCALE_OK_RATIO };
@@ -379,16 +379,13 @@ function goalCategoryHandler({ db, authorizeGoalManagement, validateOrRespond, p
379
379
  }
380
380
 
381
381
  module.exports = {
382
- CATEGORY_COLS,
383
382
  slugify,
384
383
  isValidSlug,
385
384
  listCategories,
386
385
  countGoalsByCategory,
387
386
  getCategory,
388
387
  adviseCategory,
389
- createCategory,
390
388
  updateCategory,
391
- setGoalCategory,
392
389
  decorateGoalCategory,
393
390
  categoryIndex,
394
391
  categoriesListHandler,
@@ -126,4 +126,4 @@ async function createGoalWithSpec({ db, withTx, goalFields, withSpecTask = false
126
126
  return { goal, specTask };
127
127
  }
128
128
 
129
- module.exports = { SPEC_SOURCE, specSourceRef, specTaskFields, openSpecTaskId, gateOnSpecTask, ensureSpecTask, createGoalWithSpec };
129
+ module.exports = { SPEC_SOURCE, specSourceRef, specTaskFields, gateOnSpecTask, ensureSpecTask, createGoalWithSpec };
@@ -463,7 +463,6 @@ module.exports = {
463
463
  overrideMatter,
464
464
  removalMatter,
465
465
  uatMatter,
466
- uatActs,
467
466
  joinRequestMatter,
468
467
  flowReading,
469
468
  promisesReading,
@@ -130,4 +130,4 @@ async function genesisStageTasks(deps = {}) {
130
130
  return out;
131
131
  }
132
132
 
133
- module.exports = { seedKickoffIfEmpty, specFromBranding, FIRST_VERSION_SQL, seedGenesisStages, genesisStageTasks, GENESIS_SOURCE };
133
+ module.exports = { seedKickoffIfEmpty, specFromBranding, FIRST_VERSION_SQL, seedGenesisStages, genesisStageTasks };
@@ -345,9 +345,9 @@ async function decidePair(pairId, builderId, decision, deps = {}) {
345
345
  }
346
346
 
347
347
  module.exports = {
348
- MINGLE_ENABLED_KEY, MAX_ROWS, MATCHING, matchingModel,
348
+ MAX_ROWS, MATCHING, matchingModel,
349
349
  parseEnabled, projectEnabled, setProjectEnabled,
350
- optInState, setOptIn, mingleStateFor,
351
- eligibleBuilders, isCrossCraft, planPairs, pairKey, openPairKeys,
350
+ setOptIn, mingleStateFor,
351
+ eligibleBuilders, isCrossCraft, planPairs, openPairKeys,
352
352
  runMingleRound, openPairsFor, countOpenPairsFor, decidePair,
353
353
  };
@@ -181,4 +181,4 @@ async function webClaimPageTweak({ pageId, builderId, versionId = null, round },
181
181
  }
182
182
  }
183
183
 
184
- module.exports = { webClaimPageTweak, lockKey, roundNumber };
184
+ module.exports = { webClaimPageTweak, lockKey };
@@ -75,4 +75,4 @@ function rebaseRefusalTasks(split) {
75
75
  ];
76
76
  }
77
77
 
78
- module.exports = { REBASE_GATE_LIMIT, WAITING_REASONS, waitsOn, splitRebaseGate, rebaseRefusalTasks };
78
+ module.exports = { REBASE_GATE_LIMIT, waitsOn, splitRebaseGate, rebaseRefusalTasks };
@@ -326,7 +326,6 @@ module.exports = {
326
326
  removalCandidatesForTask,
327
327
  listCommitsForPath,
328
328
  deletedPathsFrom,
329
- groupByTask,
330
329
  attributeDeletions,
331
330
  deriveRemovalsForShip,
332
331
  };
@@ -148,4 +148,4 @@ function makeAbandonHandler(deps) {
148
148
  };
149
149
  }
150
150
 
151
- module.exports = { makeAbandonHandler, requiredAtoms, floorsFor };
151
+ module.exports = { makeAbandonHandler };
@@ -222,5 +222,4 @@ module.exports = {
222
222
  authorizeVersionBuild,
223
223
  planVersionClose,
224
224
  rollForwardNeedsPlanningVersion,
225
- VERSION_CLOSE_VERBS,
226
225
  };
@@ -864,7 +864,7 @@ module.exports = {
864
864
  // untrusted-title rule is pinned by a test rather than trusted by eye.
865
865
  sanitizeOneLine, MAX_CONFIRM_LINE,
866
866
  // exported for unit tests:
867
- fmtTokens, fmtUsd, fmtInt, fmtMins, nextActionFor, esc, wrap, changedText,
867
+ fmtTokens, fmtUsd, fmtInt, fmtMins, esc, wrap,
868
868
  // task 1003150 — the session-boundary nudge, pure so every branch is pinned.
869
869
  handoffAdvice, HEAVY_SESSION_CACHED_TOKENS,
870
870
  PIPELINE, FORMS, trailSteps,
@@ -323,7 +323,6 @@ module.exports = {
323
323
  untrackedLeftBehind,
324
324
  untrackedWarningLines,
325
325
  cleanupMacFinderDupRefs,
326
- gitDirFor,
327
326
  findMainWorktree,
328
327
  findPrimaryWorktree,
329
328
  closeoutPlan,
@@ -301,4 +301,4 @@ function skyHandler({ read = sky, log = console, cache = skyCache() } = {}) {
301
301
  };
302
302
  }
303
303
 
304
- module.exports = { sky, skyRows, shapeSky, foldCriteria, normalizeBorn, skyCache, skyHandler, SKY_CACHE_TTL_MS };
304
+ module.exports = { sky, skyRows, shapeSky, foldCriteria, normalizeBorn, skyCache, skyHandler };
@@ -551,7 +551,6 @@ module.exports = {
551
551
  VALID_KINDS,
552
552
  VALID_DISCIPLINES,
553
553
  WRITABLE_DISCIPLINES,
554
- DISCIPLINE_CONFIDENCE_FLOOR,
555
554
  resolveWriteDiscipline,
556
555
  VOTABLE_TASK_STATUSES,
557
556
  TASK_FIELD_BOUNDS,
@@ -390,8 +390,6 @@ module.exports = {
390
390
  screenImage,
391
391
  readImageFile,
392
392
  normalizeAlt,
393
- urlForName,
394
- SERVE_PREFIX,
395
393
  isPubliclyViewable,
396
394
  persistImageBuffer,
397
395
  deleteStored,