@fenglimg/fabric-shared 2.2.0-rc.9 → 2.3.0-rc.1

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.
@@ -209,26 +209,13 @@ declare const fabricConfigSchema: z.ZodObject<{
209
209
  review_hint_pending_age_days: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
210
210
  maintenance_hint_days: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
211
211
  maintenance_hint_cooldown_days: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
212
- import_window_first_run_months: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
213
- import_window_rerun_months: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
214
- import_max_pending_per_run: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
215
- import_max_commits_scan: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
216
- import_skip_canonical_threshold: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
217
- archive_max_candidates_per_batch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
218
- archive_max_recent_paths: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
219
- archive_digest_max_sessions: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
220
- review_topic_result_cap: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
221
212
  review_stale_pending_days: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
222
- reverse_unarchive_enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
223
- reverse_unarchive_dry_run: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
224
- cite_evict_interval: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
225
213
  cite_recall_nudge: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
226
214
  cite_recall_window_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
227
215
  cite_nudge_ignore_globs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
228
216
  conflict_lint_similarity_threshold: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
229
217
  fabric_event_retention_days: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<7>, z.ZodLiteral<30>, z.ZodLiteral<90>]>>;
230
218
  onboard_slots_opted_out: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
231
- hint_broad_top_k: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
232
219
  broad_index_backstop: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
233
220
  hint_dismiss_signals: z.ZodOptional<z.ZodArray<z.ZodEnum<["archive", "review", "import", "maintenance"]>, "many">>;
234
221
  cite_policy_enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
@@ -240,6 +227,7 @@ declare const fabricConfigSchema: z.ZodObject<{
240
227
  orphan_demote_proven_days: z.ZodOptional<z.ZodNumber>;
241
228
  orphan_demote_verified_days: z.ZodOptional<z.ZodNumber>;
242
229
  orphan_demote_draft_days: z.ZodOptional<z.ZodNumber>;
230
+ broad_review_recheck_days: z.ZodOptional<z.ZodNumber>;
243
231
  hint_summary_max_len: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
244
232
  hint_reminder_to_context: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
245
233
  selection_token_ttl_ms: z.ZodOptional<z.ZodNumber>;
@@ -259,24 +247,11 @@ declare const fabricConfigSchema: z.ZodObject<{
259
247
  review_hint_pending_age_days: number;
260
248
  maintenance_hint_days: number;
261
249
  maintenance_hint_cooldown_days: number;
262
- import_window_first_run_months: number;
263
- import_window_rerun_months: number;
264
- import_max_pending_per_run: number;
265
- import_max_commits_scan: number;
266
- import_skip_canonical_threshold: number;
267
- archive_max_candidates_per_batch: number;
268
- archive_max_recent_paths: number;
269
- archive_digest_max_sessions: number;
270
- review_topic_result_cap: number;
271
250
  review_stale_pending_days: number;
272
- reverse_unarchive_enabled: boolean;
273
- reverse_unarchive_dry_run: boolean;
274
- cite_evict_interval: number;
275
251
  cite_recall_nudge: boolean;
276
252
  cite_recall_window_minutes: number;
277
253
  conflict_lint_similarity_threshold: number;
278
254
  onboard_slots_opted_out: string[];
279
- hint_broad_top_k: number;
280
255
  broad_index_backstop: number;
281
256
  cite_policy_enabled: boolean;
282
257
  self_archive_policy_enabled: boolean;
@@ -324,6 +299,7 @@ declare const fabricConfigSchema: z.ZodObject<{
324
299
  orphan_demote_proven_days?: number | undefined;
325
300
  orphan_demote_verified_days?: number | undefined;
326
301
  orphan_demote_draft_days?: number | undefined;
302
+ broad_review_recheck_days?: number | undefined;
327
303
  selection_token_ttl_ms?: number | undefined;
328
304
  plan_context_top_k?: number | undefined;
329
305
  recall_relevance_ratio?: number | undefined;
@@ -367,26 +343,13 @@ declare const fabricConfigSchema: z.ZodObject<{
367
343
  review_hint_pending_age_days?: number | undefined;
368
344
  maintenance_hint_days?: number | undefined;
369
345
  maintenance_hint_cooldown_days?: number | undefined;
370
- import_window_first_run_months?: number | undefined;
371
- import_window_rerun_months?: number | undefined;
372
- import_max_pending_per_run?: number | undefined;
373
- import_max_commits_scan?: number | undefined;
374
- import_skip_canonical_threshold?: number | undefined;
375
- archive_max_candidates_per_batch?: number | undefined;
376
- archive_max_recent_paths?: number | undefined;
377
- archive_digest_max_sessions?: number | undefined;
378
- review_topic_result_cap?: number | undefined;
379
346
  review_stale_pending_days?: number | undefined;
380
- reverse_unarchive_enabled?: boolean | undefined;
381
- reverse_unarchive_dry_run?: boolean | undefined;
382
- cite_evict_interval?: number | undefined;
383
347
  cite_recall_nudge?: boolean | undefined;
384
348
  cite_recall_window_minutes?: number | undefined;
385
349
  cite_nudge_ignore_globs?: string[] | undefined;
386
350
  conflict_lint_similarity_threshold?: number | undefined;
387
351
  fabric_event_retention_days?: 7 | 30 | 90 | undefined;
388
352
  onboard_slots_opted_out?: string[] | undefined;
389
- hint_broad_top_k?: number | undefined;
390
353
  broad_index_backstop?: number | undefined;
391
354
  hint_dismiss_signals?: ("archive" | "review" | "import" | "maintenance")[] | undefined;
392
355
  cite_policy_enabled?: boolean | undefined;
@@ -398,6 +361,7 @@ declare const fabricConfigSchema: z.ZodObject<{
398
361
  orphan_demote_proven_days?: number | undefined;
399
362
  orphan_demote_verified_days?: number | undefined;
400
363
  orphan_demote_draft_days?: number | undefined;
364
+ broad_review_recheck_days?: number | undefined;
401
365
  hint_summary_max_len?: number | undefined;
402
366
  hint_reminder_to_context?: boolean | undefined;
403
367
  selection_token_ttl_ms?: number | undefined;
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { A as AgentsMetaNode, a as AgentsIdentitySource, b as AgentsTopologyType, H as HumanLockEntry, f as fabricConfigSchema, F as FabricConfig, c as AgentsMeta, L as LedgerEntry } from './index-D_gT1CEA.js';
2
- export { d as AgentsMetaCountersEnvelope, e as AgentsMetaKnowledgeTypeCounters, g as AiLedgerEntry, h as AuditMode, C as ClientPaths, D as DefaultLayerFilter, i as FabricLanguage, j as HumanLedgerEntry, M as McpPayloadLimits, R as RuleDescription, k as RuleDescriptionIndexItem, l as auditModeSchema, m as clientPathsSchema, n as defaultLayerFilterSchema, o as fabricLanguageSchema, p as mcpPayloadLimitsSchema, q as nudgeModeSchema, r as observeConfigSchema, s as planContextTopKSchema, t as selectionTokenTtlMsSchema, w as writeRouteSchema } from './index-D_gT1CEA.js';
1
+ import { A as AgentsMetaNode, a as AgentsIdentitySource, b as AgentsTopologyType, H as HumanLockEntry, f as fabricConfigSchema, F as FabricConfig, c as AgentsMeta, L as LedgerEntry } from './index-BqsM1bzx.js';
2
+ export { d as AgentsMetaCountersEnvelope, e as AgentsMetaKnowledgeTypeCounters, g as AiLedgerEntry, h as AuditMode, C as ClientPaths, D as DefaultLayerFilter, i as FabricLanguage, j as HumanLedgerEntry, M as McpPayloadLimits, R as RuleDescription, k as RuleDescriptionIndexItem, l as auditModeSchema, m as clientPathsSchema, n as defaultLayerFilterSchema, o as fabricLanguageSchema, p as mcpPayloadLimitsSchema, q as nudgeModeSchema, r as observeConfigSchema, s as planContextTopKSchema, t as selectionTokenTtlMsSchema, w as writeRouteSchema } from './index-BqsM1bzx.js';
3
3
  import { T as Translator } from './types-qg4xXVuT.js';
4
4
  export { L as Locale, M as Messages, a as TranslationKey } from './types-qg4xXVuT.js';
5
5
  export { PROTECTED_TOKENS, ProtectedToken, createTranslator, defaultMessages, detectNodeLocale, enMessages, normalizeLocale, resolveFabricLocale, resolveGlobalLocale, zhCNMessages } from './i18n/index.js';
6
6
  import { z } from 'zod';
7
7
  import { Layer, KnowledgeType, StableId } from './schemas/api-contracts.js';
8
- export { ArchiveScanInput, ArchiveScanOutput, CiteContractMetrics, CiteCoverageReport, CiteLayerTypeBreakdown, FabExtractKnowledgeInput, FabExtractKnowledgeInputSchema, FabExtractKnowledgeInputShape, FabExtractKnowledgeOutput, FabExtractKnowledgeOutputSchema, FabReviewInput, FabReviewInputSchema, FabReviewInputShape, FabReviewOutput, FabReviewOutputSchema, FabReviewOutputShape, KNOWLEDGE_TYPE_CODES, KnowledgeEntryFrontmatter, KnowledgeEntryFrontmatterSchema, KnowledgeTypeCode, KnowledgeTypeSchema, LayerSchema, Maturity, MaturitySchema, PROPOSED_REASON_DESCRIPTIONS_BY_LOCALE, ProposedReason, ProposedReasonSchema, StableIdSchema, annotateIntentRequestSchema, archiveScanAnnotations, archiveScanInputSchema, archiveScanOutputSchema, citeContractMetricsSchema, citeCoverageReportSchema, citeLayerTypeBreakdownSchema, fabExtractKnowledgeAnnotations, fabReviewAnnotations, formatKnowledgeId, historyStateQuerySchema, humanLockApproveRequestSchema, humanLockFileParamsSchema, knowledgeSectionsAnnotations, knowledgeSectionsInputSchema, knowledgeSectionsOutputSchema, ledgerQuerySchema, ledgerSourceSchema, parseKnowledgeId, planContextAnnotations, planContextHintNarrowEntrySchema, planContextHintOutputSchema, planContextInputSchema, planContextOutputSchema, recallAnnotations, recallInputSchema, recallOutputSchema, structuredWarningSchema } from './schemas/api-contracts.js';
8
+ export { ArchiveScanInput, ArchiveScanOutput, CiteContractMetrics, CiteCoverageReport, CiteLayerTypeBreakdown, FabExtractKnowledgeInput, FabExtractKnowledgeInputSchema, FabExtractKnowledgeInputShape, FabExtractKnowledgeOutput, FabExtractKnowledgeOutputSchema, FabPendingInput, FabPendingInputSchema, FabPendingInputShape, FabPendingOutput, FabPendingOutputSchema, FabPendingOutputShape, FabReviewInput, FabReviewInputSchema, FabReviewInputShape, FabReviewOutput, FabReviewOutputSchema, FabReviewOutputShape, KNOWLEDGE_TYPE_CODES, KnowledgeEntryFrontmatter, KnowledgeEntryFrontmatterSchema, KnowledgeTypeCode, KnowledgeTypeSchema, LayerSchema, Maturity, MaturitySchema, PROPOSED_REASON_DESCRIPTIONS_BY_LOCALE, ProposedReason, ProposedReasonSchema, StableIdSchema, annotateIntentRequestSchema, archiveScanAnnotations, archiveScanInputSchema, archiveScanOutputSchema, citeContractMetricsSchema, citeCoverageReportSchema, citeLayerTypeBreakdownSchema, fabExtractKnowledgeAnnotations, fabPendingAnnotations, fabReviewAnnotations, formatKnowledgeId, historyStateQuerySchema, humanLockApproveRequestSchema, humanLockFileParamsSchema, knowledgeSectionsAnnotations, knowledgeSectionsInputSchema, knowledgeSectionsOutputSchema, ledgerQuerySchema, ledgerSourceSchema, parseKnowledgeId, planContextAnnotations, planContextHintNarrowEntrySchema, planContextHintOutputSchema, planContextInputSchema, planContextOutputSchema, recallAnnotations, recallInputSchema, recallOutputSchema, structuredWarningSchema } from './schemas/api-contracts.js';
9
9
  export { BOOTSTRAP_CANONICAL_BY_LOCALE, BOOTSTRAP_CANONICAL_EN, BOOTSTRAP_CANONICAL_ZH, BOOTSTRAP_MARKER_BEGIN, BOOTSTRAP_MARKER_END, BOOTSTRAP_REGEX, matchBootstrapCanonicalLocale, resolveBootstrapCanonical } from './templates/bootstrap-canonical.js';
10
10
 
11
11
  declare const ONBOARD_SLOT_NAMES: readonly ["tech-stack-decision", "architecture-pattern", "code-style-tone", "build-system-idiom", "domain-vocabulary"];
@@ -1522,6 +1522,7 @@ type GlobalConfig = z.infer<typeof globalConfigSchema>;
1522
1522
  declare const PERSONAL_SCOPE: "personal";
1523
1523
  declare const KNOWN_SCOPE_PREFIXES: readonly ["personal", "team", "project", "org"];
1524
1524
  declare const SCOPE_COORDINATE_PATTERN: RegExp;
1525
+ declare const SCOPE_COORDINATE_HINT = "scope coordinate must look like \"project:fabric-v2\", \"team\", or \"personal\" \u2014 lowercase [a-z0-9_-] segments joined by \":\"";
1525
1526
  declare const scopeCoordinateSchema: z.ZodString;
1526
1527
  type ScopeCoordinate = z.infer<typeof scopeCoordinateSchema>;
1527
1528
  declare function scopeRoot(coordinate: string): string;
@@ -3213,7 +3214,7 @@ declare const knowledgeProvenanceSchema: z.ZodObject<{
3213
3214
  }>;
3214
3215
  type KnowledgeProvenance = z.infer<typeof knowledgeProvenanceSchema>;
3215
3216
 
3216
- declare const MCP_STORE_AWARE_TOOLS: readonly ["fab_recall", "fab_plan_context", "fab_get_knowledge_sections", "fab_archive_scan", "fab_extract_knowledge", "fab_review"];
3217
+ declare const MCP_STORE_AWARE_TOOLS: readonly ["fab_recall", "fab_plan_context", "fab_get_knowledge_sections", "fab_archive_scan", "fab_propose", "fab_review"];
3217
3218
  type McpStoreAwareTool = (typeof MCP_STORE_AWARE_TOOLS)[number];
3218
3219
  declare const storeAwareEntrySchema: z.ZodObject<{
3219
3220
  stable_id: z.ZodString;
@@ -11340,13 +11341,14 @@ declare function normalizeCiteTag(rawTag: string): CiteTag;
11340
11341
  declare function parseCiteLine(raw: string): ParseCiteLineResult;
11341
11342
 
11342
11343
  /**
11343
- * Tokenize bilingual text into BM25 terms.
11344
+ * Tokenize bilingual text into BM25F terms.
11344
11345
  *
11345
- * Latin/digit runs become lower-cased word tokens; CJK runs become overlapping
11346
- * character bigrams (singleton for length-1 runs). Returns terms in document
11347
- * order, including duplicates callers that need term frequencies count them,
11348
- * callers that need a vocabulary dedupe.
11346
+ * Latin/digit runs become lower-cased word tokens (single-character tokens and
11347
+ * English stop words dropped); CJK runs become overlapping character bi- and
11348
+ * tri-grams (singleton for length-1 runs, bigram-only for length-2). Returns
11349
+ * terms in document order, including duplicates — callers that need term
11350
+ * frequencies count them, callers that need a vocabulary dedupe.
11349
11351
  */
11350
11352
  declare function tokenize(text: string): string[];
11351
11353
 
11352
- export { AGENTS_META_IDENTITY_SOURCES, AGENTS_META_TOPOLOGY_TYPES, AgentsIdentitySource, AgentsMeta, type AgentsMetaCounters, AgentsMetaCountersSchema, AgentsMetaNode, AgentsTopologyType, type AssistantTurnObservedEvent, type CandidateFileEntry, type CandidateFileFamily, type CiteCommitment, type CiteCommitmentOperator, type CiteCommitmentOperatorKind, type CiteContractPolicyActivatedEvent, type CitePolicyActivatedEvent, type CiteTag, type ClaudeHookPathMigratedEvent, type ClaudeSkillPathMigratedEvent, type ClientCapabilitySnapshotEvent, type CodexSkillPathMigratedEvent, type CrossStoreLintInput, type CrossStoreRefViolation, type DebugBundle, type DebugBundleInput, type DoctorRunEvent, type DriftDetectedEvent, type EditIntentCheckedEvent, type EntryLayer, type EntryScopeMetadata, type EventLedgerEvent, type EventLedgerEventInput, type EventLedgerEventType, type EventLedgerTruncatedEvent, type EventsRotatedEvent, FabricConfig, type FabricConfigSchemaShape, type FabricEvent, type FailureStage, type FailureTrace, type FileMutatedEvent, type FindStoreExecutableViolationsOptions, type ForensicAssertion, type ForensicAssertionConfidence, type ForensicAssertionCoverage, type ForensicAssertionType, type ForensicCodeSample, type ForensicEntryPoint, type ForensicEvidenceAnchor, type ForensicFramework, type ForensicReadme, type ForensicReport, type ForensicSamplingBudget, type ForensicTopology, GLOBAL_BINDINGS_DIR, GLOBAL_REF_PATTERN, GLOBAL_STATE_DIR, type GlobalConfig, type GlobalRef, type GraphEdgeCandidateRequestedEvent, type HookSignalEmittedEvent, type HookSurfaceEmittedEvent, HumanLockEntry, type HumanLockFile, type InitContext, type InitContextDomainGroup, type InitContextFramework, type InitContextInterviewTrailEntry, type InitContextInvariant, type InitContextInvariantConfidenceSnapshot, type InitContextSourceEvidence, type InitScanCompletedEvent, type InitStoreOptions, type InstallDiffAppliedEvent, KNOWLEDGE_TEST_INDEX_SCHEMA_VERSION, KNOWN_SCOPE_PREFIXES, type KnowledgeArchiveAttemptedEvent, type KnowledgeArchivedEvent, type KnowledgeBodyReadEvent, type KnowledgeConsumedEvent, type KnowledgeContextPlannedEvent, type KnowledgeDeferredEvent, type KnowledgeDemotedEvent, type KnowledgeDriftDetectedEvent, type KnowledgeEnrichedEvent, type KnowledgeIdRedirectEvent, type KnowledgeLayerChangedEvent, type KnowledgeMetaAutoHealedEvent, type KnowledgeModifiedEvent, type KnowledgePathDangledEvent, type KnowledgePromoteFailedEvent, type KnowledgePromoteStartedEvent, type KnowledgePromotedEvent, type KnowledgeProposedEvent, type KnowledgeProvenance, type KnowledgeRejectedEvent, type KnowledgeScopeDegradedEvent, type KnowledgeSectionsFetchedEvent, type KnowledgeSelectionEvent, type KnowledgeSlugRenamedEvent, type KnowledgeTestIndex, type KnowledgeTestLink, type KnowledgeTestOrphanAnnotation, KnowledgeType, type KnowledgeUnarchivedEvent, Layer, type LedgerAppendedEvent, LedgerEntry, type LlmJudgeRunEvent, type LocalKnowledgeId, type LockApprovedEvent, type LockDriftEvent, MCP_STORE_AWARE_CONTRACTS, MCP_STORE_AWARE_TOOLS, type McpEventLedgerEvent, type McpStdioTraceEvent, type McpStoreAwareContract, type McpStoreAwareTool, type MetaReconciledEvent, type MetaReconciledOnStartupEvent, type MetaUpdatedEvent, type MountedStore, type MountedStoreDir, ONBOARD_SLOT_NAMES, ONBOARD_SLOT_TOTAL, type OnboardSlot, PARITY_CLIENTS, PARITY_SURFACES, PERSONAL_SCOPE, PERSONAL_STORE_SENTINEL, PROJECT_ROOT_SIGNALS, type PanelFieldGroup, type PanelFieldKey, type PanelFieldMeta, type ParityCapability, type ParityClient, type ParityClientExpectation, type ParityMatrix, type ParitySurface, type ParseCiteLineResult, type ParsedGlobalRef, type PayloadGuardObservedEvent, type PendingAutoArchivedEvent, type PrecompactObservedEvent, type ProjectRootGoldenCase, type ProjectRootResolution, type ProjectRootResolver, type ProjectRootSignal, type ProjectRootSignals, type QualifiedCandidate, type QualifiedIdResolution, REDACTION_PLACEHOLDER_PREFIX, type ReadSetEntry, type ReadSetGoldenCase, type ReapplyCompletedEvent, type RelevanceMigrationRunEvent, type RequiredStoreEntry, type ResolutionCandidate, type ResolutionResult, type ResolutionWarning, type ResolveOptions, type ResolvedBindingsSnapshot, type ResolvedEntry, SCOPE_COORDINATE_PATTERN, STORES_ROOT_DIR, STORE_ALIAS_PATTERN, STORE_GITIGNORE, STORE_KNOWLEDGE_TYPE_DIRS, STORE_LAYOUT, STORE_MOUNT_GROUPS, STORE_MOUNT_NAME_PATTERN, STORE_PENDING_DIR, STORE_PROJECT_ID_PATTERN, STORE_RESOLVER_WARNING_CODES, STORE_UUID_PATTERN, type ScanRecommendationInput, type ScopeCoordinate, type SecretFinding, type ServeLockClearedEvent, type SessionArchiveAttemptedEvent, type SessionEndedEvent, type SkillInvocationCompletedEvent, type SkillInvocationStartedEvent, type SkillPhaseTransitionEvent, type SkillTriggerCandidateEvent, StableId, type StoreAwareEntry, type StoreCounters, type StoreExplain, type StoreIdentity, type StoreKnowledgeRef, type StoreLayout, type StoreMountGroup, type StoreProject, type StoreProjectsFile, type StoreReadSet, type StoreResolveInput, type StoreResolver, type StoreResolverWarning, type StoreResolverWarningCode, type StoreVisibility, Translator, UID_SEGMENT_PATTERN, type Uid, type ValidateResult, type WriteBindingsSnapshotOptions, type WriteTarget, type WrittenToStore, addMountedStore, addStoreProject, agentsIdentitySourceSchema, agentsMetaNodeSchema, agentsMetaSchema, agentsTopologyTypeSchema, aggregatePendingAcrossStores, aiLedgerEntrySchema, allocateKnowledgeId, allocateStoreKnowledgeId, assistantTurnObservedEventSchema, bindRequiredStore, bindingsSnapshotPath, buildDebugBundle, buildFailureTrace, buildScanRecommendations, buildStoreResolveInput, candidateFileEntrySchema, citeContractPolicyActivatedEventSchema, citePolicyActivatedEventSchema, claudeHookPathMigratedEventSchema, claudeSkillPathMigratedEventSchema, clientCapabilitySnapshotEventSchema, codexSkillPathMigratedEventSchema, createProjectRootResolver, createStoreResolver, defaultAgentsMetaCounters, deriveAgentsMetaIdentitySource, deriveAgentsMetaStableId, deriveAgentsMetaTopologyType, deriveMountLabel, detachMountedStore, disambiguateAlias, doctorRunEventSchema, driftDetectedEventSchema, editIntentCheckedEventSchema, entryScopeMetadataSchema, eventLedgerEventSchema, eventLedgerTruncatedEventSchema, eventsRotatedEventSchema, explainStore, fabricConfigSchema, fabricEventSchema, fileMutatedEventSchema, findMountedStore, findStoreExecutableViolations, forensicAssertionCoverageSchema, forensicAssertionSchema, forensicCodeSampleSchema, forensicEntryPointSchema, forensicEvidenceAnchorSchema, forensicFrameworkSchema, forensicReadmeSchema, forensicReportSchema, forensicSamplingBudgetSchema, forensicTopologySchema, formatGlobalRef, getPanelFieldByKey, getPanelFields, globalConfigPath, globalConfigSchema, globalRefSchema, graphEdgeCandidateRequestedEventSchema, hasSecrets, hookSignalEmittedEventSchema, hookSurfaceEmittedEventSchema, humanLedgerEntrySchema, humanLockEntrySchema, humanLockFileSchema, initContextDomainGroupSchema, initContextFrameworkSchema, initContextInterviewTrailEntrySchema, initContextInvariantConfidenceSnapshotSchema, initContextInvariantSchema, initContextSchema, initContextSourceEvidenceSchema, initScanCompletedEventSchema, initStore, installDiffAppliedEventSchema, isKnowledgeStableId, isPersonalLeakIntoSharedStore, isPersonalScope, knowledgeArchiveAttemptedEventSchema, knowledgeArchivedEventSchema, knowledgeBodyReadEventSchema, knowledgeConsumedEventSchema, knowledgeContextPlannedEventSchema, knowledgeDeferredEventSchema, knowledgeDemotedEventSchema, knowledgeDriftDetectedEventSchema, knowledgeEnrichedEventSchema, knowledgeIdRedirectEventSchema, knowledgeLayerChangedEventSchema, knowledgeMetaAutoHealedEventSchema, knowledgeModifiedEventSchema, knowledgePathDangledEventSchema, knowledgePromoteFailedEventSchema, knowledgePromoteStartedEventSchema, knowledgePromotedEventSchema, knowledgeProposedEventSchema, knowledgeProvenanceSchema, knowledgeRejectedEventSchema, knowledgeScopeDegradedEventSchema, knowledgeSectionsFetchedEventSchema, knowledgeSelectionEventSchema, knowledgeSlugRenamedEventSchema, knowledgeTestIndexSchema, knowledgeTestLinkSchema, knowledgeTestOrphanAnnotationSchema, knowledgeUnarchivedEventSchema, ledgerAppendedEventSchema, ledgerEntrySchema, lintCrossStoreReferences, listStoreKnowledge, llmJudgeRunEventSchema, loadGlobalConfig, loadProjectConfig, localKnowledgeIdSchema, lockApprovedEventSchema, lockDriftEventSchema, mcpEventLedgerEventSchema, mcpStdioTraceEventSchema, metaReconciledEventSchema, metaReconciledOnStartupEventSchema, metaUpdatedEventSchema, mountedStoreSchema, normalizeCiteTag, onboardSlotSchema, parityCapabilitySchema, parityClientExpectationSchema, parityClientSchema, parityMatrixSchema, paritySurfaceSchema, parseCiteLine, parseGlobalRef, payloadGuardObservedEventSchema, pendingAutoArchivedEventSchema, precompactObservedEventSchema, projectConfigPath, projectRootGoldenCaseSchema, projectRootGoldenFileSchema, projectRootResolutionSchema, projectRootSignalSchema, projectRootSignalsSchema, readBindingsSnapshot, readKnowledgeAcrossStores, readSetEntrySchema, readSetGoldenCaseSchema, readSetGoldenFileSchema, readStoreCounters, readStoreIdentity, readStoreIdentityAsync, readStoreProjects, reapplyCompletedEventSchema, recognizeStoreDir, reconcileStoreCounters, redactPii, redactSecrets, relevanceMigrationRunEventSchema, requiredStoreEntrySchema, resolveCandidates, resolveGlobalRoot, resolveStoreQualifiedId, resolveWorkspaceBindingId, resolvedBindingsSnapshotSchema, ruleDescriptionIndexItemSchema, ruleDescriptionSchema, saveGlobalConfig, saveProjectConfig, scanForSecrets, scopeCoordinateSchema, scopeRoot, scrubRemoteUrl, serveLockClearedEventSchema, sessionArchiveAttemptedEventSchema, sessionEndedEventSchema, skillInvocationCompletedEventSchema, skillInvocationStartedEventSchema, skillPhaseTransitionEventSchema, skillTriggerCandidateEventSchema, storeAliasSchema, storeAwareEntrySchema, storeCountersPath, storeCountersSchema, storeHasProject, storeIdentitySchema, storeKnowledgeTypeDir, storeMountGroup, storeMountNameSchema, storeMountSubPath, storeProjectSchema, storeProjectsFileSchema, storeReadSetSchema, storeRelativePath, storeRelativePathForMount, storeResolveInputSchema, storeResolverWarningCodeSchema, storeResolverWarningSchema, storeUuidSchema, tokenize, uidSchema, withDerivedAgentsMetaNodeDefaults, writeBindingsSnapshot, writeTargetSchema, writtenToStoreSchema };
11354
+ export { AGENTS_META_IDENTITY_SOURCES, AGENTS_META_TOPOLOGY_TYPES, AgentsIdentitySource, AgentsMeta, type AgentsMetaCounters, AgentsMetaCountersSchema, AgentsMetaNode, AgentsTopologyType, type AssistantTurnObservedEvent, type CandidateFileEntry, type CandidateFileFamily, type CiteCommitment, type CiteCommitmentOperator, type CiteCommitmentOperatorKind, type CiteContractPolicyActivatedEvent, type CitePolicyActivatedEvent, type CiteTag, type ClaudeHookPathMigratedEvent, type ClaudeSkillPathMigratedEvent, type ClientCapabilitySnapshotEvent, type CodexSkillPathMigratedEvent, type CrossStoreLintInput, type CrossStoreRefViolation, type DebugBundle, type DebugBundleInput, type DoctorRunEvent, type DriftDetectedEvent, type EditIntentCheckedEvent, type EntryLayer, type EntryScopeMetadata, type EventLedgerEvent, type EventLedgerEventInput, type EventLedgerEventType, type EventLedgerTruncatedEvent, type EventsRotatedEvent, FabricConfig, type FabricConfigSchemaShape, type FabricEvent, type FailureStage, type FailureTrace, type FileMutatedEvent, type FindStoreExecutableViolationsOptions, type ForensicAssertion, type ForensicAssertionConfidence, type ForensicAssertionCoverage, type ForensicAssertionType, type ForensicCodeSample, type ForensicEntryPoint, type ForensicEvidenceAnchor, type ForensicFramework, type ForensicReadme, type ForensicReport, type ForensicSamplingBudget, type ForensicTopology, GLOBAL_BINDINGS_DIR, GLOBAL_REF_PATTERN, GLOBAL_STATE_DIR, type GlobalConfig, type GlobalRef, type GraphEdgeCandidateRequestedEvent, type HookSignalEmittedEvent, type HookSurfaceEmittedEvent, HumanLockEntry, type HumanLockFile, type InitContext, type InitContextDomainGroup, type InitContextFramework, type InitContextInterviewTrailEntry, type InitContextInvariant, type InitContextInvariantConfidenceSnapshot, type InitContextSourceEvidence, type InitScanCompletedEvent, type InitStoreOptions, type InstallDiffAppliedEvent, KNOWLEDGE_TEST_INDEX_SCHEMA_VERSION, KNOWN_SCOPE_PREFIXES, type KnowledgeArchiveAttemptedEvent, type KnowledgeArchivedEvent, type KnowledgeBodyReadEvent, type KnowledgeConsumedEvent, type KnowledgeContextPlannedEvent, type KnowledgeDeferredEvent, type KnowledgeDemotedEvent, type KnowledgeDriftDetectedEvent, type KnowledgeEnrichedEvent, type KnowledgeIdRedirectEvent, type KnowledgeLayerChangedEvent, type KnowledgeMetaAutoHealedEvent, type KnowledgeModifiedEvent, type KnowledgePathDangledEvent, type KnowledgePromoteFailedEvent, type KnowledgePromoteStartedEvent, type KnowledgePromotedEvent, type KnowledgeProposedEvent, type KnowledgeProvenance, type KnowledgeRejectedEvent, type KnowledgeScopeDegradedEvent, type KnowledgeSectionsFetchedEvent, type KnowledgeSelectionEvent, type KnowledgeSlugRenamedEvent, type KnowledgeTestIndex, type KnowledgeTestLink, type KnowledgeTestOrphanAnnotation, KnowledgeType, type KnowledgeUnarchivedEvent, Layer, type LedgerAppendedEvent, LedgerEntry, type LlmJudgeRunEvent, type LocalKnowledgeId, type LockApprovedEvent, type LockDriftEvent, MCP_STORE_AWARE_CONTRACTS, MCP_STORE_AWARE_TOOLS, type McpEventLedgerEvent, type McpStdioTraceEvent, type McpStoreAwareContract, type McpStoreAwareTool, type MetaReconciledEvent, type MetaReconciledOnStartupEvent, type MetaUpdatedEvent, type MountedStore, type MountedStoreDir, ONBOARD_SLOT_NAMES, ONBOARD_SLOT_TOTAL, type OnboardSlot, PARITY_CLIENTS, PARITY_SURFACES, PERSONAL_SCOPE, PERSONAL_STORE_SENTINEL, PROJECT_ROOT_SIGNALS, type PanelFieldGroup, type PanelFieldKey, type PanelFieldMeta, type ParityCapability, type ParityClient, type ParityClientExpectation, type ParityMatrix, type ParitySurface, type ParseCiteLineResult, type ParsedGlobalRef, type PayloadGuardObservedEvent, type PendingAutoArchivedEvent, type PrecompactObservedEvent, type ProjectRootGoldenCase, type ProjectRootResolution, type ProjectRootResolver, type ProjectRootSignal, type ProjectRootSignals, type QualifiedCandidate, type QualifiedIdResolution, REDACTION_PLACEHOLDER_PREFIX, type ReadSetEntry, type ReadSetGoldenCase, type ReapplyCompletedEvent, type RelevanceMigrationRunEvent, type RequiredStoreEntry, type ResolutionCandidate, type ResolutionResult, type ResolutionWarning, type ResolveOptions, type ResolvedBindingsSnapshot, type ResolvedEntry, SCOPE_COORDINATE_HINT, SCOPE_COORDINATE_PATTERN, STORES_ROOT_DIR, STORE_ALIAS_PATTERN, STORE_GITIGNORE, STORE_KNOWLEDGE_TYPE_DIRS, STORE_LAYOUT, STORE_MOUNT_GROUPS, STORE_MOUNT_NAME_PATTERN, STORE_PENDING_DIR, STORE_PROJECT_ID_PATTERN, STORE_RESOLVER_WARNING_CODES, STORE_UUID_PATTERN, type ScanRecommendationInput, type ScopeCoordinate, type SecretFinding, type ServeLockClearedEvent, type SessionArchiveAttemptedEvent, type SessionEndedEvent, type SkillInvocationCompletedEvent, type SkillInvocationStartedEvent, type SkillPhaseTransitionEvent, type SkillTriggerCandidateEvent, StableId, type StoreAwareEntry, type StoreCounters, type StoreExplain, type StoreIdentity, type StoreKnowledgeRef, type StoreLayout, type StoreMountGroup, type StoreProject, type StoreProjectsFile, type StoreReadSet, type StoreResolveInput, type StoreResolver, type StoreResolverWarning, type StoreResolverWarningCode, type StoreVisibility, Translator, UID_SEGMENT_PATTERN, type Uid, type ValidateResult, type WriteBindingsSnapshotOptions, type WriteTarget, type WrittenToStore, addMountedStore, addStoreProject, agentsIdentitySourceSchema, agentsMetaNodeSchema, agentsMetaSchema, agentsTopologyTypeSchema, aggregatePendingAcrossStores, aiLedgerEntrySchema, allocateKnowledgeId, allocateStoreKnowledgeId, assistantTurnObservedEventSchema, bindRequiredStore, bindingsSnapshotPath, buildDebugBundle, buildFailureTrace, buildScanRecommendations, buildStoreResolveInput, candidateFileEntrySchema, citeContractPolicyActivatedEventSchema, citePolicyActivatedEventSchema, claudeHookPathMigratedEventSchema, claudeSkillPathMigratedEventSchema, clientCapabilitySnapshotEventSchema, codexSkillPathMigratedEventSchema, createProjectRootResolver, createStoreResolver, defaultAgentsMetaCounters, deriveAgentsMetaIdentitySource, deriveAgentsMetaStableId, deriveAgentsMetaTopologyType, deriveMountLabel, detachMountedStore, disambiguateAlias, doctorRunEventSchema, driftDetectedEventSchema, editIntentCheckedEventSchema, entryScopeMetadataSchema, eventLedgerEventSchema, eventLedgerTruncatedEventSchema, eventsRotatedEventSchema, explainStore, fabricConfigSchema, fabricEventSchema, fileMutatedEventSchema, findMountedStore, findStoreExecutableViolations, forensicAssertionCoverageSchema, forensicAssertionSchema, forensicCodeSampleSchema, forensicEntryPointSchema, forensicEvidenceAnchorSchema, forensicFrameworkSchema, forensicReadmeSchema, forensicReportSchema, forensicSamplingBudgetSchema, forensicTopologySchema, formatGlobalRef, getPanelFieldByKey, getPanelFields, globalConfigPath, globalConfigSchema, globalRefSchema, graphEdgeCandidateRequestedEventSchema, hasSecrets, hookSignalEmittedEventSchema, hookSurfaceEmittedEventSchema, humanLedgerEntrySchema, humanLockEntrySchema, humanLockFileSchema, initContextDomainGroupSchema, initContextFrameworkSchema, initContextInterviewTrailEntrySchema, initContextInvariantConfidenceSnapshotSchema, initContextInvariantSchema, initContextSchema, initContextSourceEvidenceSchema, initScanCompletedEventSchema, initStore, installDiffAppliedEventSchema, isKnowledgeStableId, isPersonalLeakIntoSharedStore, isPersonalScope, knowledgeArchiveAttemptedEventSchema, knowledgeArchivedEventSchema, knowledgeBodyReadEventSchema, knowledgeConsumedEventSchema, knowledgeContextPlannedEventSchema, knowledgeDeferredEventSchema, knowledgeDemotedEventSchema, knowledgeDriftDetectedEventSchema, knowledgeEnrichedEventSchema, knowledgeIdRedirectEventSchema, knowledgeLayerChangedEventSchema, knowledgeMetaAutoHealedEventSchema, knowledgeModifiedEventSchema, knowledgePathDangledEventSchema, knowledgePromoteFailedEventSchema, knowledgePromoteStartedEventSchema, knowledgePromotedEventSchema, knowledgeProposedEventSchema, knowledgeProvenanceSchema, knowledgeRejectedEventSchema, knowledgeScopeDegradedEventSchema, knowledgeSectionsFetchedEventSchema, knowledgeSelectionEventSchema, knowledgeSlugRenamedEventSchema, knowledgeTestIndexSchema, knowledgeTestLinkSchema, knowledgeTestOrphanAnnotationSchema, knowledgeUnarchivedEventSchema, ledgerAppendedEventSchema, ledgerEntrySchema, lintCrossStoreReferences, listStoreKnowledge, llmJudgeRunEventSchema, loadGlobalConfig, loadProjectConfig, localKnowledgeIdSchema, lockApprovedEventSchema, lockDriftEventSchema, mcpEventLedgerEventSchema, mcpStdioTraceEventSchema, metaReconciledEventSchema, metaReconciledOnStartupEventSchema, metaUpdatedEventSchema, mountedStoreSchema, normalizeCiteTag, onboardSlotSchema, parityCapabilitySchema, parityClientExpectationSchema, parityClientSchema, parityMatrixSchema, paritySurfaceSchema, parseCiteLine, parseGlobalRef, payloadGuardObservedEventSchema, pendingAutoArchivedEventSchema, precompactObservedEventSchema, projectConfigPath, projectRootGoldenCaseSchema, projectRootGoldenFileSchema, projectRootResolutionSchema, projectRootSignalSchema, projectRootSignalsSchema, readBindingsSnapshot, readKnowledgeAcrossStores, readSetEntrySchema, readSetGoldenCaseSchema, readSetGoldenFileSchema, readStoreCounters, readStoreIdentity, readStoreIdentityAsync, readStoreProjects, reapplyCompletedEventSchema, recognizeStoreDir, reconcileStoreCounters, redactPii, redactSecrets, relevanceMigrationRunEventSchema, requiredStoreEntrySchema, resolveCandidates, resolveGlobalRoot, resolveStoreQualifiedId, resolveWorkspaceBindingId, resolvedBindingsSnapshotSchema, ruleDescriptionIndexItemSchema, ruleDescriptionSchema, saveGlobalConfig, saveProjectConfig, scanForSecrets, scopeCoordinateSchema, scopeRoot, scrubRemoteUrl, serveLockClearedEventSchema, sessionArchiveAttemptedEventSchema, sessionEndedEventSchema, skillInvocationCompletedEventSchema, skillInvocationStartedEventSchema, skillPhaseTransitionEventSchema, skillTriggerCandidateEventSchema, storeAliasSchema, storeAwareEntrySchema, storeCountersPath, storeCountersSchema, storeHasProject, storeIdentitySchema, storeKnowledgeTypeDir, storeMountGroup, storeMountNameSchema, storeMountSubPath, storeProjectSchema, storeProjectsFileSchema, storeReadSetSchema, storeRelativePath, storeRelativePathForMount, storeResolveInputSchema, storeResolverWarningCodeSchema, storeResolverWarningSchema, storeUuidSchema, tokenize, uidSchema, withDerivedAgentsMetaNodeDefaults, writeBindingsSnapshot, writeTargetSchema, writtenToStoreSchema };
package/dist/index.js CHANGED
@@ -7,7 +7,8 @@ import {
7
7
  BOOTSTRAP_REGEX,
8
8
  matchBootstrapCanonicalLocale,
9
9
  resolveBootstrapCanonical
10
- } from "./chunk-BDJQIOQO.js";
10
+ } from "./chunk-SQKWD7X6.js";
11
+ import "./chunk-LXNCAKJZ.js";
11
12
  import {
12
13
  PROTECTED_TOKENS,
13
14
  createTranslator,
@@ -15,7 +16,7 @@ import {
15
16
  enMessages,
16
17
  resolveFabricLocale,
17
18
  zhCNMessages
18
- } from "./chunk-AQMDXC6J.js";
19
+ } from "./chunk-IFMFEX3V.js";
19
20
  import {
20
21
  GLOBAL_BINDINGS_DIR,
21
22
  GLOBAL_STATE_DIR,
@@ -59,6 +60,10 @@ import {
59
60
  FabExtractKnowledgeInputSchema,
60
61
  FabExtractKnowledgeInputShape,
61
62
  FabExtractKnowledgeOutputSchema,
63
+ FabPendingInputSchema,
64
+ FabPendingInputShape,
65
+ FabPendingOutputSchema,
66
+ FabPendingOutputShape,
62
67
  FabReviewInputSchema,
63
68
  FabReviewInputShape,
64
69
  FabReviewOutputSchema,
@@ -74,6 +79,7 @@ import {
74
79
  PERSONAL_SCOPE,
75
80
  PROPOSED_REASON_DESCRIPTIONS_BY_LOCALE,
76
81
  ProposedReasonSchema,
82
+ SCOPE_COORDINATE_HINT,
77
83
  SCOPE_COORDINATE_PATTERN,
78
84
  StableIdSchema,
79
85
  annotateIntentRequestSchema,
@@ -85,6 +91,7 @@ import {
85
91
  citeLayerTypeBreakdownSchema,
86
92
  entryScopeMetadataSchema,
87
93
  fabExtractKnowledgeAnnotations,
94
+ fabPendingAnnotations,
88
95
  fabReviewAnnotations,
89
96
  formatKnowledgeId,
90
97
  historyStateQuerySchema,
@@ -109,8 +116,7 @@ import {
109
116
  scopeCoordinateSchema,
110
117
  scopeRoot,
111
118
  structuredWarningSchema
112
- } from "./chunk-5AKCRBKJ.js";
113
- import "./chunk-LXNCAKJZ.js";
119
+ } from "./chunk-D7HUHWBI.js";
114
120
 
115
121
  // src/schemas/agents-meta.ts
116
122
  import { z } from "zod";
@@ -494,92 +500,28 @@ var fabricConfigSchema = z5.object({
494
500
  // worst — pairing 14d trigger + 7d cooldown means at most ~2 reminders
495
501
  // per month for a workspace that ignores them.
496
502
  maintenance_hint_cooldown_days: z5.number().int().positive().optional().default(7),
497
- // rc.9+ (skill-contract-fix B1): first-run import window in months. The
498
- // `fabric-import` skill scans this many months of git history on the very
499
- // first invocation (when no prior `import_run_completed` event exists).
500
- // Default 60 (~5 years) captures the bulk of a mature repo's signal in
501
- // one pass; small / fresh repos can lower to 12-24 with no loss.
502
- import_window_first_run_months: z5.number().int().min(1).optional().default(60),
503
- // rc.9+ (skill-contract-fix B1): rerun import window in months. After
504
- // the first successful import, subsequent runs only scan this many
505
- // recent months — assumed everything older has already been crystallized
506
- // into pending or canonical knowledge. Default 2 keeps incremental cost
507
- // low; raise to 6 if the workspace pauses fabric-import for long stretches.
508
- import_window_rerun_months: z5.number().int().min(1).optional().default(2),
509
- // rc.9+ (skill-contract-fix B1): hard cap on pending entries produced
510
- // per fabric-import invocation. Prevents one run from dumping hundreds
511
- // of proposals when a backfill window is wide open. Default 10 matches
512
- // the rule-of-thumb "human can triage ~10 pending entries in one
513
- // review pass." Range 1-50.
514
- import_max_pending_per_run: z5.number().int().min(1).max(50).optional().default(10),
515
- // rc.9+ (skill-contract-fix B1): hard cap on commits scanned per
516
- // fabric-import invocation. Bounds runtime on monorepos with high
517
- // commit velocity. Default 500 covers ~2 months of typical churn;
518
- // range 50-2000. Hitting the cap mid-window is logged but non-fatal.
519
- import_max_commits_scan: z5.number().int().min(50).max(2e3).optional().default(500),
520
- // rc.9+ (skill-contract-fix B1): canonical-node count above which
521
- // fabric-import's pre-flight should warn / suggest review instead of
522
- // proceeding. A workspace with 50+ canonical entries usually benefits
523
- // more from `fabric-review` to consolidate than from importing more.
524
- // Default 50; raise to 100+ for large polyglot repos.
525
- import_skip_canonical_threshold: z5.number().int().positive().optional().default(50),
526
- // rc.9+ (skill-contract-fix B1): max candidate entries surfaced per
527
- // fabric-archive batch (one invocation of the skill). Pagination knob
528
- // for the archive UI flow. Default 8 keeps each batch reviewable in
529
- // one sitting; raise for large repos with high archive throughput.
530
- archive_max_candidates_per_batch: z5.number().int().positive().optional().default(8),
531
- // rc.9+ (skill-contract-fix B1): max recently-touched paths included
532
- // in fabric-archive's "relevant context" lookup. Limits the size of
533
- // the path-relevance digest the skill emits when ranking candidates.
534
- // Default 20; large repos with deep directory fan-out can raise to
535
- // 50+ if archive candidates feel under-contextualized.
536
- archive_max_recent_paths: z5.number().int().positive().optional().default(20),
537
- // rc.9+ (skill-contract-fix B1): max prior fabric-archive sessions
538
- // summarised in the digest the skill loads on start. Prevents the
539
- // digest from ballooning past the model context budget on workspaces
540
- // that have archived repeatedly. Default 10; lower if context pressure
541
- // bites, raise if you want longer-range archive trend visibility.
542
- archive_digest_max_sessions: z5.number().int().positive().optional().default(10),
543
- // rc.9+ (skill-contract-fix B1): max review results returned per
544
- // topic when `fabric-review` clusters pending entries. Pagination
545
- // knob analogous to archive_max_candidates_per_batch but scoped to
546
- // each topic cluster. Default 8; raise to 15-20 for large repos
547
- // where each topic legitimately groups many pending entries.
548
- review_topic_result_cap: z5.number().int().positive().optional().default(8),
503
+ // ux-w2-3: import_*/archive_max_*/review_topic_result_cap skill thresholds
504
+ // were hardcoded (✂ per census Table 1) never tuned, pure skill-internal
505
+ // pagination/window caps. Removed from the schema; the skills/services read
506
+ // raw config with a built-in default, so an absent key falls to that default
507
+ // (60/2/10/500/50/8/20/10/8 respectively). Lenient parser drops any stale
508
+ // on-disk value.
549
509
  // rc.9+ (skill-contract-fix B1): age threshold (in days) above which
550
510
  // a pending entry is considered "stale" by fabric-review and surfaced
551
511
  // for explicit resolve-or-drop decision. Default 14; tighter than the
552
512
  // 7d Signal-B trigger because review specifically targets the long
553
513
  // tail. Large repos with slower cadence can raise to 30.
554
514
  review_stale_pending_days: z5.number().int().positive().optional().default(14),
555
- // v2.0.0-rc.34 TASK-05: reverse-unarchive opt-in. When true, callers of the
556
- // `unarchiveKnowledge` primitive (and any future doctor auto-detect lint built
557
- // on top) will execute the file move + ledger emit. When false (default),
558
- // the same callers MUST short-circuit before any mutation — the primitive is
559
- // shipped but inert until explicitly enabled. Opt-in posture mirrors the
560
- // archive-flow precedent: destructive-ish file moves stay behind a flag.
561
- reverse_unarchive_enabled: z5.boolean().optional().default(false),
562
- // v2.0.0-rc.34 TASK-05: forces `unarchiveKnowledge` into dry-run mode even
563
- // when called with `options.dryRun=false`. Lets operators preview a
564
- // restoration pass before flipping `reverse_unarchive_enabled` to true.
565
- reverse_unarchive_dry_run: z5.boolean().optional().default(false),
566
- // v2.0.0-rc.34 TASK-06: long-session cite-policy evict window in user-prompt
567
- // turns. UserPromptSubmit hook (Claude Code only) maintains a per-session
568
- // counter and re-injects the cite contract reminder via
569
- // hookSpecificOutput.additionalContext when `turn_count % interval === 0`.
570
- // Default 0 = OFF (opt-in). Recommend 10-20 for active sessions; 5 for
571
- // high-contract-criticality projects. Other strategies (time-based,
572
- // token-budget) deferred to rc.35 per plan locked-decisions 2026-05-26.
573
- cite_evict_interval: z5.number().int().min(0).optional().default(0),
574
515
  // v2.1 ⑤ cite-redesign (P5): recall-based cite-accounting hook config. The
575
- // rc.34 cite_evict_interval turn-counter above is superseded by the
576
- // PreToolUse(Edit/Write) recall-aware nudge in cite-policy-evict.cjs; the old
577
- // key is retained for back-compat (inert now that the hook moved off
578
- // UserPromptSubmit). `cite_recall_nudge` is the master switch (default true =
579
- // ON); set false to silence the "改前先 fab_recall" nudge entirely (mirrors
580
- // the cite_evict_interval=0 opt-out convention). `cite_recall_window_minutes`
581
- // bounds how far back an in-session fab_recall counts as "informing" the edit
582
- // (default 30; 0 = unbounded).
516
+ // PreToolUse(Edit/Write) recall-aware nudge in cite-policy-evict.cjs replaced
517
+ // the retired rc.34 `cite_evict_interval` turn-counter. ux-w1-5: that inert
518
+ // key plus the never-wired `reverse_unarchive_enabled`/`reverse_unarchive_dry_run`
519
+ // opt-in flags (the unarchiveKnowledge primitive takes dryRun from its caller,
520
+ // not from config) were deleted; the lenient root parser drops any stale
521
+ // value left in an on-disk config. `cite_recall_nudge` is the master switch
522
+ // (default true = ON); set false to silence the "改前先 fab_recall" nudge
523
+ // entirely. `cite_recall_window_minutes` bounds how far back an in-session
524
+ // fab_recall counts as "informing" the edit (default 30; 0 = unbounded).
583
525
  cite_recall_nudge: z5.boolean().optional().default(true),
584
526
  cite_recall_window_minutes: z5.number().int().min(0).optional().default(30),
585
527
  // F2: glob exemptions for the cite nudge (cite-policy-evict.cjs). Edit paths
@@ -625,18 +567,11 @@ var fabricConfigSchema = z5.object({
625
567
  // Default `[]` keeps the field optional on existing configs — fresh
626
568
  // installs land with no opt-outs.
627
569
  onboard_slots_opted_out: z5.array(z5.string()).optional().default([]),
628
- // v2.0.0-rc.33 W2-1 (P0-9): TopK upper bound for the broad SessionStart hint
629
- // banner emitted by knowledge-hint-broad.cjs. After plan-context-hint returns
630
- // its full broad-scoped index, the hook slices the entries to this many
631
- // before grouping/truncation rendering keeps the banner from scrolling off
632
- // screen on well-seeded repos (Werewolf-class projects routinely surface 40+
633
- // broad entries which buried the actually-relevant top hits). Default 8 is
634
- // calibrated against the rc.32 eval baseline (cite-coverage 3.1%): the
635
- // banner needs to fit in ~1 screenful so the agent actually reads it.
636
- // Range 1..50; values above 20 effectively disable the cap because the
637
- // TRUNCATION_THRESHOLD=12 grouped-render kicks in. Mirrors the rc.7 T7 +
638
- // archive_max_* pattern of externalizing previously-hardcoded thresholds.
639
- hint_broad_top_k: z5.number().int().min(1).max(50).optional().default(8),
570
+ // ux-w3-j (W3-J): `hint_broad_top_k` was deleted. W2-1 (KT-DEC-0028) retired its
571
+ // hard-cap function the SessionStart broad banner now shows EVERY broad entry
572
+ // and `broad_index_backstop` (below) is the sole scale guard; the field had been
573
+ // inert ever since (its only remaining refs were retirement comments). The lenient
574
+ // root parser drops any stale on-disk value (zero migration).
640
575
  // KT-DEC-0036: the SessionStart broad-menu is now index-only (title + summary
641
576
  // per always-active entry, no eager body), so the former `hint_broad_budget_chars`
642
577
  // body char-budget knob was retired — there is no rendered body left to bound.
@@ -714,6 +649,15 @@ var fabricConfigSchema = z5.object({
714
649
  orphan_demote_proven_days: z5.number().int().min(1).max(3650).optional(),
715
650
  orphan_demote_verified_days: z5.number().int().min(1).max(3650).optional(),
716
651
  orphan_demote_draft_days: z5.number().int().min(1).max(3650).optional(),
652
+ // v2.2 C1 (processes/maturity-promotion-rubric-v1): days a `broad` entry may
653
+ // go without a fab-review re-confirmation before doctor surfaces a RECHECK
654
+ // nudge. `broad` is EXEMPT from usage-age decay (it is SessionStart-pushed,
655
+ // never pull-recalled → usage-blind, KT-DEC; see doctor-knowledge-age.ts), so
656
+ // its continued validity is instead checked against the review-confirmation
657
+ // clock (`last_review_confirmed_at`, stamped at approve/modify). This is a
658
+ // non-blocking INFO nudge ("re-confirm"), NEVER an auto-demote. Absent → the
659
+ // config-loader default (180d) applies. Range 1..3650 mirrors orphan_demote.
660
+ broad_review_recheck_days: z5.number().int().min(1).max(3650).optional(),
717
661
  // v2.0.0-rc.33 W4-A3 (T4 P2): per-entry summary truncation length used by
718
662
  // knowledge-hint-{broad,narrow}.cjs. Hard-coded at 80 chars in rc.32 — too
719
663
  // short for entries with parameterized summaries (e.g. "Use bcrypt with
@@ -1254,7 +1198,7 @@ function createStoreResolver() {
1254
1198
  warnings.push({
1255
1199
  code: "missing_store",
1256
1200
  ref: req.id,
1257
- message: `required store '${req.id}' is not mounted; run \`fabric store add\` (suggested remote: $personal)`
1201
+ message: `required store '${req.id}' is not mounted; run \`fabric store mount\` (suggested remote: $personal)`
1258
1202
  });
1259
1203
  }
1260
1204
  continue;
@@ -1267,7 +1211,7 @@ function createStoreResolver() {
1267
1211
  warnings.push({
1268
1212
  code: "missing_store",
1269
1213
  ref: req.id,
1270
- message: `required store '${req.id}' is not mounted; run \`fabric store add\`${suffix}`
1214
+ message: `required store '${req.id}' is not mounted; run \`fabric store mount\`${suffix}`
1271
1215
  });
1272
1216
  continue;
1273
1217
  }
@@ -1313,7 +1257,7 @@ function createStoreResolver() {
1313
1257
  {
1314
1258
  code: "missing_write_route",
1315
1259
  ref: scope,
1316
- message: `scope '${scope}' has no explicit write route; set \`fabric store route-write ${scope} <alias>\``
1260
+ message: `scope '${scope}' has no explicit write route; set \`fabric store switch-write <alias> --scope ${scope}\``
1317
1261
  }
1318
1262
  ]
1319
1263
  };
@@ -2018,7 +1962,7 @@ var MCP_STORE_AWARE_TOOLS = [
2018
1962
  "fab_plan_context",
2019
1963
  "fab_get_knowledge_sections",
2020
1964
  "fab_archive_scan",
2021
- "fab_extract_knowledge",
1965
+ "fab_propose",
2022
1966
  "fab_review"
2023
1967
  ];
2024
1968
  var storeAwareEntrySchema = z11.object({
@@ -2043,8 +1987,8 @@ var MCP_STORE_AWARE_CONTRACTS = {
2043
1987
  surfacesEntries: false,
2044
1988
  echoesWrittenStore: false
2045
1989
  },
2046
- fab_extract_knowledge: {
2047
- tool: "fab_extract_knowledge",
1990
+ fab_propose: {
1991
+ tool: "fab_propose",
2048
1992
  surfacesEntries: false,
2049
1993
  echoesWrittenStore: true
2050
1994
  },
@@ -3221,6 +3165,34 @@ var eventLedgerEventSchema = z16.discriminatedUnion("event_type", [
3221
3165
  var CJK_CLASS = "\\u3400-\\u4dbf\\u4e00-\\u9fff\\uf900-\\ufaff\\u3040-\\u30ff\\uac00-\\ud7af";
3222
3166
  var RUN_RE = new RegExp(`[a-z0-9]+|[${CJK_CLASS}]+`, "gu");
3223
3167
  var CJK_FIRST_RE = new RegExp(`[${CJK_CLASS}]`, "u");
3168
+ var STOP_WORDS = /* @__PURE__ */ new Set([
3169
+ "the",
3170
+ "a",
3171
+ "an",
3172
+ "and",
3173
+ "or",
3174
+ "of",
3175
+ "to",
3176
+ "in",
3177
+ "on",
3178
+ "for",
3179
+ "is",
3180
+ "it",
3181
+ "with",
3182
+ "as",
3183
+ "at",
3184
+ "by",
3185
+ "be",
3186
+ "are",
3187
+ "was",
3188
+ "were",
3189
+ "this",
3190
+ "that",
3191
+ "from",
3192
+ "but",
3193
+ "not"
3194
+ ]);
3195
+ var MAX_CJK_NGRAM = 3;
3224
3196
  function tokenize(text) {
3225
3197
  if (text.length === 0) {
3226
3198
  return [];
@@ -3234,12 +3206,17 @@ function tokenize(text) {
3234
3206
  if (CJK_FIRST_RE.test(run[0])) {
3235
3207
  if (run.length === 1) {
3236
3208
  tokens.push(run);
3237
- } else {
3238
- for (let i = 0; i < run.length - 1; i += 1) {
3239
- tokens.push(run.slice(i, i + 2));
3209
+ continue;
3210
+ }
3211
+ for (let n = 2; n <= MAX_CJK_NGRAM; n += 1) {
3212
+ if (run.length < n) {
3213
+ break;
3214
+ }
3215
+ for (let i = 0; i + n <= run.length; i += 1) {
3216
+ tokens.push(run.slice(i, i + n));
3240
3217
  }
3241
3218
  }
3242
- } else {
3219
+ } else if (run.length >= 2 && !STOP_WORDS.has(run)) {
3243
3220
  tokens.push(run);
3244
3221
  }
3245
3222
  }
@@ -3258,6 +3235,10 @@ export {
3258
3235
  FabExtractKnowledgeInputSchema,
3259
3236
  FabExtractKnowledgeInputShape,
3260
3237
  FabExtractKnowledgeOutputSchema,
3238
+ FabPendingInputSchema,
3239
+ FabPendingInputShape,
3240
+ FabPendingOutputSchema,
3241
+ FabPendingOutputShape,
3261
3242
  FabReviewInputSchema,
3262
3243
  FabReviewInputShape,
3263
3244
  FabReviewOutputSchema,
@@ -3285,6 +3266,7 @@ export {
3285
3266
  PROTECTED_TOKENS,
3286
3267
  ProposedReasonSchema,
3287
3268
  REDACTION_PLACEHOLDER_PREFIX,
3269
+ SCOPE_COORDINATE_HINT,
3288
3270
  SCOPE_COORDINATE_PATTERN,
3289
3271
  STORES_ROOT_DIR,
3290
3272
  STORE_ALIAS_PATTERN,
@@ -3355,6 +3337,7 @@ export {
3355
3337
  eventsRotatedEventSchema,
3356
3338
  explainStore,
3357
3339
  fabExtractKnowledgeAnnotations,
3340
+ fabPendingAnnotations,
3358
3341
  fabReviewAnnotations,
3359
3342
  fabricConfigSchema,
3360
3343
  fabricEventSchema,