@hiveai/core 0.24.0 → 0.26.0
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.
- package/dist/index.d.ts +23 -1
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1006,6 +1006,21 @@ declare function looksLikeGenericAdvice(body: string): boolean;
|
|
|
1006
1006
|
declare const GUESSABLE_THRESHOLD = 0.3;
|
|
1007
1007
|
/** True when a memory body looks like generic knowledge a capable model already has. */
|
|
1008
1008
|
declare function isLikelyGuessable(body: string, threshold?: number): boolean;
|
|
1009
|
+
/**
|
|
1010
|
+
* Quality floor for SEEDED memories (stack packs, ingested findings) — the guard against shipping
|
|
1011
|
+
* low-value "use const not var" starter content. A seed earns its place only if it is either:
|
|
1012
|
+
* - ENFORCEABLE: it carries a hand-authored sensor (its value is the gate, not its prose), or
|
|
1013
|
+
* - SPECIFIC: it reads as a concrete framework/repo trap (specificity >= floor) and is NOT
|
|
1014
|
+
* generic best-practice prose a capable model already follows.
|
|
1015
|
+
* Used both at seed time (skip a memory that fails) and as a CI guard over the shipped pack library.
|
|
1016
|
+
*
|
|
1017
|
+
* The floor (0.2) is intentionally LOWER than {@link GUESSABLE_THRESHOLD} (0.3, used to lint claimed
|
|
1018
|
+
* team knowledge): a seed is explicitly background-priority framework REFERENCE, not a claim of
|
|
1019
|
+
* non-guessable team policy, so a concrete framework gotcha with a code example clears it — while
|
|
1020
|
+
* genuine garbage ("use const", "write tests") still scores ~0 and/or trips looksLikeGenericAdvice.
|
|
1021
|
+
*/
|
|
1022
|
+
declare const SEED_QUALITY_FLOOR = 0.2;
|
|
1023
|
+
declare function meetsSeedQualityFloor(body: string, hasSensor: boolean, floor?: number): boolean;
|
|
1009
1024
|
|
|
1010
1025
|
/**
|
|
1011
1026
|
* Token budgeting helpers. We use the standard heuristic of ~4 chars per token,
|
|
@@ -1785,7 +1800,12 @@ interface DraftsOptions extends DraftOptions {
|
|
|
1785
1800
|
limit?: number;
|
|
1786
1801
|
/** Only ingest findings at or above this severity. Default: none (all). */
|
|
1787
1802
|
minSeverity?: FindingSeverity;
|
|
1803
|
+
/** Include auto-fixable stylistic rules (semi/quotes/indent/prefer-const…). Default false — they are
|
|
1804
|
+
* linter-autofix noise, not lessons worth a memory. */
|
|
1805
|
+
includeStylistic?: boolean;
|
|
1788
1806
|
}
|
|
1807
|
+
/** True when a finding's rule is pure auto-fixable formatting/style (no lesson value as a seed). */
|
|
1808
|
+
declare function isStylisticRule(ruleId: string): boolean;
|
|
1789
1809
|
/** Normalize a tool-specific severity string to the shared scale. */
|
|
1790
1810
|
declare function normalizeFindingSeverity(raw: string | undefined | null): FindingSeverity;
|
|
1791
1811
|
/**
|
|
@@ -2194,6 +2214,8 @@ interface SeedProposal {
|
|
|
2194
2214
|
/** Detected signal kind. */
|
|
2195
2215
|
kind: "revert" | "fixup" | "workaround";
|
|
2196
2216
|
}
|
|
2217
|
+
/** True when a reverted/fixed subject is mechanical noise (merge/bump/deps/wip/format), not a lesson. */
|
|
2218
|
+
declare function isNoiseSubject(subject: string): boolean;
|
|
2197
2219
|
/**
|
|
2198
2220
|
* Turn commits into seed proposals. A `Revert "X"` commit proposes an attempt about X; an obvious
|
|
2199
2221
|
* hotfix/fixup commit proposes an attempt about the fixed area. Deduped by slug. Pure.
|
|
@@ -2393,4 +2415,4 @@ declare function prepareBridgeData(memories: Memory[], sensors: BridgeSensor[],
|
|
|
2393
2415
|
*/
|
|
2394
2416
|
declare function generateBridges(memories: Memory[], sensors: BridgeSensor[], opts?: GenerateBridgesOptions): BridgeFileOutput[];
|
|
2395
2417
|
|
|
2396
|
-
export { AUTOPILOT_DEFAULTS, type Activation, type ActivationContext, ActivationSchema, type Anchor, AnchorSchema, type AntiPatternGate, type AppliedConflictResolution, type AutoPromoteRule, BRIDGE_MARKERS, BRIDGE_TARGETS, BRIDGE_TARGET_PATH, BRIEFING_MARKER_TTL_MS, BRIEFING_PRESET_DEFAULTS, type BreakingChange, type BridgeFileOutput, type BridgeMemoryEntry, type BridgeSensor, type BridgeTarget, type BriefingBudgetNumbers, type BriefingBudgetPreset, type BriefingMarker, type BriefingProofLineOptions, type BudgetPart, type BudgetSlice, type BuildCodeMapOptions, CHARS_PER_TOKEN, CODE_MAP_FILE, CODE_STOPWORDS, CONFIG_FILE, type CaughtForYouOptions, type CaughtForYouRow, type CaughtForYouSummary, type CodeExport, type CodeExportKind, type CodeFileEntry, type CodeMap, type CodeMapQueryOptions, type CollectTimelineOpts, type CommandSensorSpec, type ConfidenceLevel, type ConfidenceThresholds, type ConflictCandidatePair, type ConflictCandidatesOpts, type ConflictResolution, type ContractDiffResult, type ContractFile, type ContractSnapshot, type CoverageGap, type CoverageOptions, CrossRepoProvenanceSchema, type CrossRepoReport, type CrossRepoSource, DECAY_DAYS, DEFAULT_AUTO_PROMOTE_RULE, DEFAULT_CONFIDENCE_THRESHOLDS, DEFAULT_CONFIG, DEFAULT_DORMANT_DAYS, DEFAULT_PRIORITY_SIGNALS, type DashboardOptions, type DashboardReport, type DepChange, type DepTrackResult, type DependencySnapshot, type DetectStacksInput, type DetectableStack, type DocFrequency, type DormantRow, type DraftOptions, type DraftsOptions, ENV_WORKAROUND_TAGS, type EvalDelta, type EvalHistoryEntry, type EvalReport, type EvalSpec, type EvalTrend, type FailureCoverageOptions, type FailureObservation, type FeedbackAdjustment, type FeedbackAdjustmentAction, type FeedbackAdjustmentOptions, type Finding, type FindingFormat, type FindingSeverity, GUESSABLE_THRESHOLD, type GatePrecision, type GatePrecisionDelta, type GatePrecisionMetricDelta, type GateTuningSuggestion, type GenerateBridgesOptions, type GitCommit, HAIVE_DIR, type HaiveConfig, type HaivePaths, type HotFile, type HotFileSource, type ImpactOptions, type ImpactRow, type ImpactScore, type ImpactSummary, type ImpactTier, type LexicalRankResult, type LoadedMemory, MEMORIES_DIR, MIN_WORD_LEN, type Memory, type MemoryDraft, type MemoryFrontmatter, MemoryFrontmatterSchema, type MemoryPriority, type MemoryScope, MemoryScopeSchema, type MemoryStatus, MemoryStatusSchema, type MemoryType, MemoryTypeSchema, type MemoryUsage, type MergeResult, type MetricDelta, PREVENTION_DEBOUNCE_MS, PROJECT_CONTEXT_FILE, PROJECT_CONTEXT_THROTTLE_MS, type PreventionEvent, type PreventionRow, type PreventionSource, type PreventionTrend, type PrioritySignals, RUNTIME_JOURNAL_FILENAME, type RecurrenceReport, type RecurrenceRow, type ResolveProjectInfo, type RetirementSignal, type RetrievalAggregate, type RetrievalCase, type RetrievalCaseResult, type RuntimeJournalEntry, SESSION_RECAP_TTL_MS, STACK_PACK_TAG, type SeedProposal, type SelfEvalOptions, type Sensor, type SensorAggregate, type SensorCase, type SensorCaseResult, type SensorHit, type SensorRow, SensorSchema, type SensorSuggestionOptions, type SensorTarget, type SkillActivation, type TimelineEntry, type TopicStatusPair, type TruncateOptions, type TruncateResult, USAGE_FILE, USAGE_LOG_DIR, USAGE_LOG_FILE, type UncapturedFailure, type UsageAggregate, type UsageEvent, type UsageIndex, type VerifyOptions, type VerifyResult, addedLinesFromDiff, aggregateRetrieval, aggregateSensors, aggregateUsage, allocateBudget, antiPatternGateParams, appendEvalHistory, appendPreventionEvent, appendRuntimeJournalEntry, appendUsageEvent, applyConflictResolution, applyFeedbackAdjustment, bridgeMemorySummary, briefingMarkerPath, briefingMarkersDir, briefingProofLine, buildCodeMap, buildCoverageIndex, buildDashboard, buildDocFrequency, buildFrontmatter, buildReport, bumpRead, classifyMemoryPriority, codeMapPath, collectTimelineEntries, compactAutoRecapBody, compareEvalReports, compareGatePrecision, compareImpact, compileRegexSensor, computeEvalTrend, computeGatePrecision, computeImpact, computePreventionTrend, computeRecurrence, configPath, contractLockPath, deriveConfidence, detectStacksFromManifests, diffContract, diffHasDistinctiveOverlap, distinctiveCap, draftsFromFindings, emptyUsage, emptyUsageIndex, enforcementDir, estimateTokens, evalHistoryPath, evaluateSkillActivation, extractActionsBriefBody, extractSnippet, filterNewDrafts, findCoverageGaps, findLexicalConflictPairs, findProjectRoot, findTopicStatusConflictPairs, findUncapturedFailures, findingBody, findingToDraft, firstMemoryOneLine, generateBridges, getUsage, globToRegExp, hasRecentBriefingMarker, hashProjectContext, inferModulesFromPaths, isAutoPromoteEligible, isAutoRecap, isCovered, isDecaying, isDistinctiveToken, isEnvWorkaroundMemory, isFreshIsoDate, isGlobPath, isLikelyGuessable, isRetiredMemory, isSkill, isSkillSuppressed, isStackPackSeed, listMarkdownFilesRecursive, literalMatchesAllTokens, literalMatchesAnyToken, loadCodeMap, loadConfig, loadConfigSync, loadEvalHistory, loadMemoriesFromDir, loadMemory, loadPreventionEvents, loadUsageIndex, looksLikeGenericAdvice, memoryFilePath, memoryMatchesAnchorPaths, mergeHotFiles, mergeMemoryVersions, newMemoryId, normalizeFindingSeverity, normalizeSessionId, overallScore, parseEslintJson, parseFindings, parseMemory, parseNpmAudit, parseSarif, parseSince, parseSonar, pathsOverlap, pickSnippetNeedle, planConflictResolution, prepareBridgeData, preventionLogPath, priorityRank, prioritySignals, projectContextRecentlyEmitted, proposeSeedsFromCommits, pullCrossRepoSources, queryCodeMap, rankMemoriesLexical, readRecentBriefingMarker, readRuntimeJournalTail, readUsageEvents, recommendFeedbackAdjustment, recordApplied, recordPrevention, recordPreventionHits, recordProjectContextEmission, recordRejection, relPathFrom, renderCaughtForYou, resolveBriefingBudget, resolveHaivePaths, resolveManifestFiles, resolveProjectInfo, retirementSignal, runRegexSensor, runSensors, runtimeJournalPath, saveCodeMap, saveConfig, saveUsageIndex, scoreRetrievalCase, scoreSensorCase, selectCommandSensors, sensorAppliesToPath, sensorTargetsFromDiff, serializeMemory, snapshotContract, specificityScore, stripPrivate, suggestGate, suggestSensorFromMemory, suggestTopicKey, summarizeCaughtForYou, summarizeImpact, synthesizeSelfEvalCases, tallyHotFiles, titleFromBody, tokenizeQuery, tokenizeWords, trackDependencies, trackReads, truncateToTokens, usageLogPath, usageLogSize, usagePath, verifyAnchor, watchContracts, writeBriefingMarker };
|
|
2418
|
+
export { AUTOPILOT_DEFAULTS, type Activation, type ActivationContext, ActivationSchema, type Anchor, AnchorSchema, type AntiPatternGate, type AppliedConflictResolution, type AutoPromoteRule, BRIDGE_MARKERS, BRIDGE_TARGETS, BRIDGE_TARGET_PATH, BRIEFING_MARKER_TTL_MS, BRIEFING_PRESET_DEFAULTS, type BreakingChange, type BridgeFileOutput, type BridgeMemoryEntry, type BridgeSensor, type BridgeTarget, type BriefingBudgetNumbers, type BriefingBudgetPreset, type BriefingMarker, type BriefingProofLineOptions, type BudgetPart, type BudgetSlice, type BuildCodeMapOptions, CHARS_PER_TOKEN, CODE_MAP_FILE, CODE_STOPWORDS, CONFIG_FILE, type CaughtForYouOptions, type CaughtForYouRow, type CaughtForYouSummary, type CodeExport, type CodeExportKind, type CodeFileEntry, type CodeMap, type CodeMapQueryOptions, type CollectTimelineOpts, type CommandSensorSpec, type ConfidenceLevel, type ConfidenceThresholds, type ConflictCandidatePair, type ConflictCandidatesOpts, type ConflictResolution, type ContractDiffResult, type ContractFile, type ContractSnapshot, type CoverageGap, type CoverageOptions, CrossRepoProvenanceSchema, type CrossRepoReport, type CrossRepoSource, DECAY_DAYS, DEFAULT_AUTO_PROMOTE_RULE, DEFAULT_CONFIDENCE_THRESHOLDS, DEFAULT_CONFIG, DEFAULT_DORMANT_DAYS, DEFAULT_PRIORITY_SIGNALS, type DashboardOptions, type DashboardReport, type DepChange, type DepTrackResult, type DependencySnapshot, type DetectStacksInput, type DetectableStack, type DocFrequency, type DormantRow, type DraftOptions, type DraftsOptions, ENV_WORKAROUND_TAGS, type EvalDelta, type EvalHistoryEntry, type EvalReport, type EvalSpec, type EvalTrend, type FailureCoverageOptions, type FailureObservation, type FeedbackAdjustment, type FeedbackAdjustmentAction, type FeedbackAdjustmentOptions, type Finding, type FindingFormat, type FindingSeverity, GUESSABLE_THRESHOLD, type GatePrecision, type GatePrecisionDelta, type GatePrecisionMetricDelta, type GateTuningSuggestion, type GenerateBridgesOptions, type GitCommit, HAIVE_DIR, type HaiveConfig, type HaivePaths, type HotFile, type HotFileSource, type ImpactOptions, type ImpactRow, type ImpactScore, type ImpactSummary, type ImpactTier, type LexicalRankResult, type LoadedMemory, MEMORIES_DIR, MIN_WORD_LEN, type Memory, type MemoryDraft, type MemoryFrontmatter, MemoryFrontmatterSchema, type MemoryPriority, type MemoryScope, MemoryScopeSchema, type MemoryStatus, MemoryStatusSchema, type MemoryType, MemoryTypeSchema, type MemoryUsage, type MergeResult, type MetricDelta, PREVENTION_DEBOUNCE_MS, PROJECT_CONTEXT_FILE, PROJECT_CONTEXT_THROTTLE_MS, type PreventionEvent, type PreventionRow, type PreventionSource, type PreventionTrend, type PrioritySignals, RUNTIME_JOURNAL_FILENAME, type RecurrenceReport, type RecurrenceRow, type ResolveProjectInfo, type RetirementSignal, type RetrievalAggregate, type RetrievalCase, type RetrievalCaseResult, type RuntimeJournalEntry, SEED_QUALITY_FLOOR, SESSION_RECAP_TTL_MS, STACK_PACK_TAG, type SeedProposal, type SelfEvalOptions, type Sensor, type SensorAggregate, type SensorCase, type SensorCaseResult, type SensorHit, type SensorRow, SensorSchema, type SensorSuggestionOptions, type SensorTarget, type SkillActivation, type TimelineEntry, type TopicStatusPair, type TruncateOptions, type TruncateResult, USAGE_FILE, USAGE_LOG_DIR, USAGE_LOG_FILE, type UncapturedFailure, type UsageAggregate, type UsageEvent, type UsageIndex, type VerifyOptions, type VerifyResult, addedLinesFromDiff, aggregateRetrieval, aggregateSensors, aggregateUsage, allocateBudget, antiPatternGateParams, appendEvalHistory, appendPreventionEvent, appendRuntimeJournalEntry, appendUsageEvent, applyConflictResolution, applyFeedbackAdjustment, bridgeMemorySummary, briefingMarkerPath, briefingMarkersDir, briefingProofLine, buildCodeMap, buildCoverageIndex, buildDashboard, buildDocFrequency, buildFrontmatter, buildReport, bumpRead, classifyMemoryPriority, codeMapPath, collectTimelineEntries, compactAutoRecapBody, compareEvalReports, compareGatePrecision, compareImpact, compileRegexSensor, computeEvalTrend, computeGatePrecision, computeImpact, computePreventionTrend, computeRecurrence, configPath, contractLockPath, deriveConfidence, detectStacksFromManifests, diffContract, diffHasDistinctiveOverlap, distinctiveCap, draftsFromFindings, emptyUsage, emptyUsageIndex, enforcementDir, estimateTokens, evalHistoryPath, evaluateSkillActivation, extractActionsBriefBody, extractSnippet, filterNewDrafts, findCoverageGaps, findLexicalConflictPairs, findProjectRoot, findTopicStatusConflictPairs, findUncapturedFailures, findingBody, findingToDraft, firstMemoryOneLine, generateBridges, getUsage, globToRegExp, hasRecentBriefingMarker, hashProjectContext, inferModulesFromPaths, isAutoPromoteEligible, isAutoRecap, isCovered, isDecaying, isDistinctiveToken, isEnvWorkaroundMemory, isFreshIsoDate, isGlobPath, isLikelyGuessable, isNoiseSubject, isRetiredMemory, isSkill, isSkillSuppressed, isStackPackSeed, isStylisticRule, listMarkdownFilesRecursive, literalMatchesAllTokens, literalMatchesAnyToken, loadCodeMap, loadConfig, loadConfigSync, loadEvalHistory, loadMemoriesFromDir, loadMemory, loadPreventionEvents, loadUsageIndex, looksLikeGenericAdvice, meetsSeedQualityFloor, memoryFilePath, memoryMatchesAnchorPaths, mergeHotFiles, mergeMemoryVersions, newMemoryId, normalizeFindingSeverity, normalizeSessionId, overallScore, parseEslintJson, parseFindings, parseMemory, parseNpmAudit, parseSarif, parseSince, parseSonar, pathsOverlap, pickSnippetNeedle, planConflictResolution, prepareBridgeData, preventionLogPath, priorityRank, prioritySignals, projectContextRecentlyEmitted, proposeSeedsFromCommits, pullCrossRepoSources, queryCodeMap, rankMemoriesLexical, readRecentBriefingMarker, readRuntimeJournalTail, readUsageEvents, recommendFeedbackAdjustment, recordApplied, recordPrevention, recordPreventionHits, recordProjectContextEmission, recordRejection, relPathFrom, renderCaughtForYou, resolveBriefingBudget, resolveHaivePaths, resolveManifestFiles, resolveProjectInfo, retirementSignal, runRegexSensor, runSensors, runtimeJournalPath, saveCodeMap, saveConfig, saveUsageIndex, scoreRetrievalCase, scoreSensorCase, selectCommandSensors, sensorAppliesToPath, sensorTargetsFromDiff, serializeMemory, snapshotContract, specificityScore, stripPrivate, suggestGate, suggestSensorFromMemory, suggestTopicKey, summarizeCaughtForYou, summarizeImpact, synthesizeSelfEvalCases, tallyHotFiles, titleFromBody, tokenizeQuery, tokenizeWords, trackDependencies, trackReads, truncateToTokens, usageLogPath, usageLogSize, usagePath, verifyAnchor, watchContracts, writeBriefingMarker };
|
package/dist/index.js
CHANGED
|
@@ -1387,6 +1387,12 @@ var GUESSABLE_THRESHOLD = 0.3;
|
|
|
1387
1387
|
function isLikelyGuessable(body, threshold = GUESSABLE_THRESHOLD) {
|
|
1388
1388
|
return specificityScore(body) < threshold;
|
|
1389
1389
|
}
|
|
1390
|
+
var SEED_QUALITY_FLOOR = 0.2;
|
|
1391
|
+
function meetsSeedQualityFloor(body, hasSensor, floor = SEED_QUALITY_FLOOR) {
|
|
1392
|
+
if (hasSensor) return true;
|
|
1393
|
+
if (looksLikeGenericAdvice(body)) return false;
|
|
1394
|
+
return specificityScore(body) >= floor;
|
|
1395
|
+
}
|
|
1390
1396
|
|
|
1391
1397
|
// src/token-budget.ts
|
|
1392
1398
|
var CHARS_PER_TOKEN = 4;
|
|
@@ -3401,6 +3407,10 @@ function escapeRegExp(value) {
|
|
|
3401
3407
|
}
|
|
3402
3408
|
|
|
3403
3409
|
// src/findings.ts
|
|
3410
|
+
var STYLISTIC_RULE_RE = /(?:^|[/:])(?:prettier|semi|semi-spacing|no-extra-semi|quotes|jsx-quotes|quote-props|indent|comma-dangle|comma-spacing|comma-style|eol-last|linebreak-style|no-trailing-spaces|no-multiple-empty-lines|no-multi-spaces|object-curly-spacing|array-bracket-spacing|block-spacing|space-before-blocks|space-before-function-paren|space-infix-ops|space-in-parens|keyword-spacing|arrow-spacing|key-spacing|func-call-spacing|padded-blocks|padding-line-between-statements|brace-style|spaced-comment|max-len|prefer-const|no-var)(?:$|[/:])/i;
|
|
3411
|
+
function isStylisticRule(ruleId) {
|
|
3412
|
+
return STYLISTIC_RULE_RE.test(ruleId ?? "");
|
|
3413
|
+
}
|
|
3404
3414
|
var SEVERITY_RANK = {
|
|
3405
3415
|
info: 0,
|
|
3406
3416
|
minor: 1,
|
|
@@ -3641,7 +3651,10 @@ function draftsFromFindings(findings, options = {}) {
|
|
|
3641
3651
|
if (SEVERITY_RANK[finding.severity] < minRank) continue;
|
|
3642
3652
|
if (seen.has(finding.key)) continue;
|
|
3643
3653
|
seen.add(finding.key);
|
|
3644
|
-
|
|
3654
|
+
if (!options.includeStylistic && isStylisticRule(finding.ruleId)) continue;
|
|
3655
|
+
const draft = findingToDraft(finding, options);
|
|
3656
|
+
if (!meetsSeedQualityFloor(draft.body, draft.has_sensor)) continue;
|
|
3657
|
+
drafts.push(draft);
|
|
3645
3658
|
if (options.limit !== void 0 && drafts.length >= options.limit) break;
|
|
3646
3659
|
}
|
|
3647
3660
|
return drafts;
|
|
@@ -4084,6 +4097,10 @@ var REVERT_RE = /^Revert\s+"(.+)"\s*$/i;
|
|
|
4084
4097
|
var FIXUP_RE = /^(?:fixup!|hotfix[:!]|fix[:!]\s*revert|revert\s+revert)/i;
|
|
4085
4098
|
var URGENT_FIX_RE = /\b(hotfix|urgent fix|emergency fix|critical fix|broke production|broken build)\b/i;
|
|
4086
4099
|
var WORKAROUND_RE = /(?<![\w-])(?:work[\s-]?around|band[\s-]?aid|temporary fix|temp fix|quick[\s-]?fix|kludge|monkey[\s-]?patch|stop[\s-]?gap)(?![\w-])|\bhack(?:y|ish)?\b/i;
|
|
4100
|
+
var SUBJECT_NOISE_RE = /^(?:merge\b|merge branch|merge pull request|bump\b|bumps?\b|release\b|releases?\b|v?\d+\.\d+\.\d+(?:[-.\w]*)?$|wip\b|update (?:deps|dependencies|lockfile|snapshots?|submodules?)|dependenc(?:y|ies) updates?|chore\(deps|deps:|lint(?:ing)?\b|format(?:ting)?\b|prettier\b|reformat\b|typo\b)/i;
|
|
4101
|
+
function isNoiseSubject(subject) {
|
|
4102
|
+
return SUBJECT_NOISE_RE.test(subject.trim());
|
|
4103
|
+
}
|
|
4087
4104
|
function slugify(text) {
|
|
4088
4105
|
return text.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 60) || "reverted-change";
|
|
4089
4106
|
}
|
|
@@ -4106,6 +4123,7 @@ function proposeSeedsFromCommits(commits, limit = 20) {
|
|
|
4106
4123
|
kind = "workaround";
|
|
4107
4124
|
}
|
|
4108
4125
|
if (!what || !kind) continue;
|
|
4126
|
+
if (isNoiseSubject(what)) continue;
|
|
4109
4127
|
const slug = slugify(what);
|
|
4110
4128
|
if (seen.has(slug)) continue;
|
|
4111
4129
|
seen.add(slug);
|
|
@@ -4447,6 +4465,7 @@ export {
|
|
|
4447
4465
|
PROJECT_CONTEXT_FILE,
|
|
4448
4466
|
PROJECT_CONTEXT_THROTTLE_MS,
|
|
4449
4467
|
RUNTIME_JOURNAL_FILENAME,
|
|
4468
|
+
SEED_QUALITY_FLOOR,
|
|
4450
4469
|
SESSION_RECAP_TTL_MS,
|
|
4451
4470
|
STACK_PACK_TAG,
|
|
4452
4471
|
SensorSchema,
|
|
@@ -4529,10 +4548,12 @@ export {
|
|
|
4529
4548
|
isFreshIsoDate,
|
|
4530
4549
|
isGlobPath,
|
|
4531
4550
|
isLikelyGuessable,
|
|
4551
|
+
isNoiseSubject,
|
|
4532
4552
|
isRetiredMemory,
|
|
4533
4553
|
isSkill,
|
|
4534
4554
|
isSkillSuppressed,
|
|
4535
4555
|
isStackPackSeed,
|
|
4556
|
+
isStylisticRule,
|
|
4536
4557
|
listMarkdownFilesRecursive,
|
|
4537
4558
|
literalMatchesAllTokens,
|
|
4538
4559
|
literalMatchesAnyToken,
|
|
@@ -4545,6 +4566,7 @@ export {
|
|
|
4545
4566
|
loadPreventionEvents,
|
|
4546
4567
|
loadUsageIndex,
|
|
4547
4568
|
looksLikeGenericAdvice,
|
|
4569
|
+
meetsSeedQualityFloor,
|
|
4548
4570
|
memoryFilePath,
|
|
4549
4571
|
memoryMatchesAnchorPaths,
|
|
4550
4572
|
mergeHotFiles,
|