@saptools/service-flow 0.1.69 → 0.1.70

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 (120) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +2 -2
  3. package/TECHNICAL-NOTE.md +4 -0
  4. package/dist/{chunk-3N3B5KHV.js → chunk-GSLFY6J2.js} +78 -78
  5. package/dist/chunk-GSLFY6J2.js.map +1 -0
  6. package/dist/cli.js +19 -19
  7. package/dist/cli.js.map +1 -1
  8. package/dist/index.js +1 -1
  9. package/package.json +1 -1
  10. package/src/cli/{002-doctor-lifecycle.ts → doctor-lifecycle.ts} +1 -1
  11. package/src/cli/{001-doctor-projection.ts → doctor-projection.ts} +1 -1
  12. package/src/cli/doctor.ts +5 -5
  13. package/src/cli.ts +5 -5
  14. package/src/db/{009-binding-fact-semantics.ts → binding-fact-semantics.ts} +2 -2
  15. package/src/db/{000-call-fact-repository.ts → call-fact-repository.ts} +6 -6
  16. package/src/db/{003-current-fact-semantics.ts → current-fact-semantics.ts} +4 -4
  17. package/src/db/{001-fact-lifecycle.ts → fact-lifecycle.ts} +3 -3
  18. package/src/db/{007-package-fact-semantics.ts → package-fact-semantics.ts} +6 -6
  19. package/src/db/{010-package-symbol-surface-semantics.ts → package-symbol-surface-semantics.ts} +2 -2
  20. package/src/db/{004-package-target-invalidation.ts → package-target-invalidation.ts} +1 -1
  21. package/src/db/{008-relative-fact-semantics.ts → relative-fact-semantics.ts} +3 -3
  22. package/src/db/{006-relative-symbol-resolution.ts → relative-symbol-resolution.ts} +1 -1
  23. package/src/db/repositories.ts +3 -3
  24. package/src/db/{011-symbol-call-semantics.ts → symbol-call-semantics.ts} +1 -1
  25. package/src/index.ts +3 -3
  26. package/src/indexer/repository-indexer.ts +5 -5
  27. package/src/indexer/workspace-indexer.ts +3 -3
  28. package/src/linker/{007-call-edge-insertion.ts → call-edge-insertion.ts} +2 -2
  29. package/src/linker/{002-call-evidence.ts → call-evidence.ts} +2 -2
  30. package/src/linker/cross-repo-linker.ts +5 -5
  31. package/src/linker/dynamic-edge-resolver.ts +1 -1
  32. package/src/linker/{004-event-subscription-handler-linker.ts → event-subscription-handler-linker.ts} +1 -1
  33. package/src/linker/external-http-target.ts +1 -1
  34. package/src/linker/helper-package-linker.ts +1 -1
  35. package/src/linker/{000-implementation-candidates.ts → implementation-candidates.ts} +1 -1
  36. package/src/linker/{001-implementation-evidence-projection.ts → implementation-evidence-projection.ts} +1 -1
  37. package/src/linker/odata-path-normalizer.ts +1 -1
  38. package/src/linker/{005-odata-path-structure.ts → odata-path-structure.ts} +1 -1
  39. package/src/linker/{003-package-import-symbol-resolver.ts → package-import-symbol-resolver.ts} +3 -3
  40. package/src/linker/service-resolver.ts +2 -2
  41. package/src/output/{001-compact-json-output.ts → compact-json-output.ts} +1 -1
  42. package/src/parsers/{006-binding-identity.ts → binding-identity.ts} +3 -3
  43. package/src/parsers/{011-binding-lexical-scope.ts → binding-lexical-scope.ts} +1 -1
  44. package/src/parsers/{021-binding-visibility.ts → binding-visibility.ts} +1 -1
  45. package/src/parsers/{005-event-subscription-facts.ts → event-subscription-facts.ts} +2 -2
  46. package/src/parsers/{016-local-symbol-reference.ts → local-symbol-reference.ts} +2 -2
  47. package/src/parsers/operation-path-analysis.ts +1 -1
  48. package/src/parsers/{023-outbound-call-classifier.ts → outbound-call-classifier.ts} +3 -3
  49. package/src/parsers/outbound-call-parser.ts +2 -2
  50. package/src/parsers/{022-outbound-expression-analysis.ts → outbound-expression-analysis.ts} +2 -2
  51. package/src/parsers/{018-package-commonjs-syntax.ts → package-commonjs-syntax.ts} +1 -1
  52. package/src/parsers/{012-package-fact-contract.ts → package-fact-contract.ts} +3 -3
  53. package/src/parsers/{010-package-public-surface-analysis.ts → package-public-surface-analysis.ts} +2 -2
  54. package/src/parsers/{003-package-public-surface.ts → package-public-surface.ts} +3 -3
  55. package/src/parsers/{008-package-surface-publication.ts → package-surface-publication.ts} +1 -1
  56. package/src/parsers/{001-query-entity-resolution.ts → query-entity-resolution.ts} +1 -1
  57. package/src/parsers/{015-service-binding-collector.ts → service-binding-collector.ts} +3 -3
  58. package/src/parsers/{014-service-binding-helper-flow.ts → service-binding-helper-flow.ts} +2 -2
  59. package/src/parsers/service-binding-parser-helpers.ts +1 -1
  60. package/src/parsers/service-binding-parser.ts +2 -2
  61. package/src/parsers/{007-source-fact-reconciliation.ts → source-fact-reconciliation.ts} +3 -3
  62. package/src/parsers/{020-stable-local-value.ts → stable-local-value.ts} +2 -2
  63. package/src/parsers/{009-symbol-call-facts.ts → symbol-call-facts.ts} +3 -3
  64. package/src/parsers/{017-symbol-derived-contexts.ts → symbol-derived-contexts.ts} +2 -2
  65. package/src/parsers/symbol-parser.ts +6 -6
  66. package/src/trace/{021-compact-decision-normalization.ts → compact-decision-normalization.ts} +2 -2
  67. package/src/trace/{020-compact-field-projection.ts → compact-field-projection.ts} +3 -3
  68. package/src/trace/{024-compact-observation-decision.ts → compact-observation-decision.ts} +3 -3
  69. package/src/trace/{016-compact-projector.ts → compact-projector.ts} +4 -4
  70. package/src/trace/{018-compact-trace.ts → compact-trace.ts} +3 -3
  71. package/src/trace/{006-contextual-projection.ts → contextual-projection.ts} +1 -1
  72. package/src/trace/{008-contextual-runtime-state.ts → contextual-runtime-state.ts} +1 -1
  73. package/src/trace/{001-dynamic-identity.ts → dynamic-identity.ts} +2 -2
  74. package/src/trace/{003-dynamic-references.ts → dynamic-references.ts} +2 -2
  75. package/src/trace/dynamic-targets.ts +6 -6
  76. package/src/trace/{030-event-runtime-resolution.ts → event-runtime-resolution.ts} +2 -2
  77. package/src/trace/{011-event-subscriber-traversal.ts → event-subscriber-traversal.ts} +1 -1
  78. package/src/trace/evidence.ts +2 -2
  79. package/src/trace/implementation-hints.ts +2 -2
  80. package/src/trace/{005-implementation-selection.ts → implementation-selection.ts} +2 -2
  81. package/src/trace/{031-local-call-expansion.ts → local-call-expansion.ts} +3 -3
  82. package/src/trace/{009-selected-handler-provenance.ts → selected-handler-provenance.ts} +1 -1
  83. package/src/trace/selectors.ts +1 -1
  84. package/src/trace/{017-trace-context.ts → trace-context.ts} +2 -2
  85. package/src/trace/{015-trace-edge-recorder.ts → trace-edge-recorder.ts} +2 -2
  86. package/src/trace/{019-trace-edge-semantics.ts → trace-edge-semantics.ts} +3 -3
  87. package/src/trace/trace-engine.ts +10 -10
  88. package/src/trace/{022-trace-fact-preflight.ts → trace-fact-preflight.ts} +2 -2
  89. package/src/trace/{025-trace-implementation-scope.ts → trace-implementation-scope.ts} +1 -1
  90. package/src/trace/{028-trace-operation-execution.ts → trace-operation-execution.ts} +10 -10
  91. package/src/trace/{013-trace-root-scopes.ts → trace-root-scopes.ts} +3 -3
  92. package/src/trace/{027-trace-scope-execution.ts → trace-scope-execution.ts} +14 -14
  93. package/src/trace/{029-trace-start-implementation.ts → trace-start-implementation.ts} +7 -7
  94. package/src/trace/{026-trace-start-scope.ts → trace-start-scope.ts} +5 -5
  95. package/src/trace/{010-traversal-scope.ts → traversal-scope.ts} +1 -1
  96. package/dist/chunk-3N3B5KHV.js.map +0 -1
  97. /package/src/cli/{000-clean.ts → clean.ts} +0 -0
  98. /package/src/cli/{003-doctor-package-resolution.ts → doctor-package-resolution.ts} +0 -0
  99. /package/src/cli/{001-index-summary.ts → index-summary.ts} +0 -0
  100. /package/src/db/{014-binding-helper-provenance.ts → binding-helper-provenance.ts} +0 -0
  101. /package/src/db/{012-binding-reference-proof.ts → binding-reference-proof.ts} +0 -0
  102. /package/src/db/{002-fact-json-inventory.ts → fact-json-inventory.ts} +0 -0
  103. /package/src/db/{013-index-publication-failure.ts → index-publication-failure.ts} +0 -0
  104. /package/src/db/{005-schema-structure.ts → schema-structure.ts} +0 -0
  105. /package/src/linker/{006-event-template-link.ts → event-template-link.ts} +0 -0
  106. /package/src/output/{000-stdout-policy.ts → stdout-policy.ts} +0 -0
  107. /package/src/parsers/{019-binding-assignment-targets.ts → binding-assignment-targets.ts} +0 -0
  108. /package/src/parsers/{000-direct-query-execution.ts → direct-query-execution.ts} +0 -0
  109. /package/src/parsers/{013-executable-body-eligibility.ts → executable-body-eligibility.ts} +0 -0
  110. /package/src/parsers/{004-fact-identity.ts → fact-identity.ts} +0 -0
  111. /package/src/parsers/{002-symbol-import-bindings.ts → symbol-import-bindings.ts} +0 -0
  112. /package/src/trace/{014-compact-contract.ts → compact-contract.ts} +0 -0
  113. /package/src/trace/{004-dynamic-candidate-sources.ts → dynamic-candidate-sources.ts} +0 -0
  114. /package/src/trace/{000-dynamic-target-types.ts → dynamic-target-types.ts} +0 -0
  115. /package/src/trace/{007-implementation-start-diagnostic.ts → implementation-start-diagnostic.ts} +0 -0
  116. /package/src/trace/{023-nested-event-scopes.ts → nested-event-scopes.ts} +0 -0
  117. /package/src/trace/{002-trace-diagnostics.ts → trace-diagnostics.ts} +0 -0
  118. /package/src/trace/{012-trace-graph-lookups.ts → trace-graph-lookups.ts} +0 -0
  119. /package/src/utils/{000-bounded-projection.ts → bounded-projection.ts} +0 -0
  120. /package/src/utils/{001-placeholders.ts → placeholders.ts} +0 -0
@@ -6,12 +6,12 @@ import { normalizePath } from '../utils/path-utils.js';
6
6
  import {
7
7
  classifyOutboundCallsInSource,
8
8
  type ClassifiedOutboundCall,
9
- } from './023-outbound-call-classifier.js';
9
+ } from './outbound-call-classifier.js';
10
10
  import {
11
11
  lineOf,
12
12
  literalText,
13
13
  parserEvidence,
14
- } from './022-outbound-expression-analysis.js';
14
+ } from './outbound-expression-analysis.js';
15
15
  import { parseImportedWrapperCalls } from './imported-wrapper-parser.js';
16
16
  import { parseServiceBindings } from './service-binding-parser.js';
17
17
  import type { RepositorySourceContext } from './ts-project.js';
@@ -3,12 +3,12 @@ import {
3
3
  chainIncludesForUpdate,
4
4
  queryBuilderRoot,
5
5
  type DirectQueryBuilderStatement,
6
- } from './000-direct-query-execution.js';
6
+ } from './direct-query-execution.js';
7
7
  import {
8
8
  expressionName,
9
9
  maxAliasDepth,
10
10
  resolveBinding,
11
- } from './001-query-entity-resolution.js';
11
+ } from './query-entity-resolution.js';
12
12
  import type { OperationPathAnalysis } from './operation-path-analysis.js';
13
13
  import { stripQuotes } from '../utils/path-utils.js';
14
14
  export function lineOf(text: string, index: number): number {
@@ -1,7 +1,7 @@
1
1
  import ts from 'typescript';
2
2
  import {
3
3
  lexicalIdentifierDeclarations,
4
- } from './002-symbol-import-bindings.js';
4
+ } from './symbol-import-bindings.js';
5
5
 
6
6
  interface AccessPath {
7
7
  root: ts.Identifier;
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  PACKAGE_PUBLIC_SURFACE_RECORD_CAP,
3
3
  PACKAGE_PUBLIC_SURFACE_SCHEMA,
4
- } from './003-package-public-surface.js';
4
+ } from './package-public-surface.js';
5
5
  import type {
6
6
  ExecutableBodyEligibility,
7
7
  PackagePublicEntry,
8
8
  PackagePublicScope,
9
9
  PackagePublicSurfaceFact,
10
10
  PublicSurfaceTarget,
11
- } from './003-package-public-surface.js';
11
+ } from './package-public-surface.js';
12
12
  import {
13
13
  packageModuleRequest,
14
14
  type SymbolImportBindingKind,
15
15
  type SymbolImportReference,
16
16
  type SymbolImportReferenceShape,
17
- } from './002-symbol-import-bindings.js';
17
+ } from './symbol-import-bindings.js';
18
18
 
19
19
  const bindingKinds = new Set<SymbolImportBindingKind>([
20
20
  'esm_named', 'esm_default', 'esm_namespace',
@@ -4,7 +4,7 @@ import {
4
4
  PACKAGE_PUBLIC_SURFACE_RECORD_CAP,
5
5
  PACKAGE_PUBLIC_SURFACE_SCHEMA,
6
6
  resolveModule,
7
- } from './003-package-public-surface.js';
7
+ } from './package-public-surface.js';
8
8
  import type {
9
9
  ModuleInfo,
10
10
  ModuleResolution,
@@ -16,7 +16,7 @@ import type {
16
16
  PackageSourceModule,
17
17
  ResolvedExport,
18
18
  SymbolPublicSurfaceEvidence,
19
- } from './003-package-public-surface.js';
19
+ } from './package-public-surface.js';
20
20
  import type { PackageEntrypointManifest } from './package-json-parser.js';
21
21
 
22
22
  interface EntryResolution {
@@ -4,8 +4,8 @@ import {
4
4
  hasNestedCommonJsMutation,
5
5
  isUnshadowedCommonJsExportExpression,
6
6
  unsupportedCommonJsMutation,
7
- } from './018-package-commonjs-syntax.js';
8
- import { stableLocalValueReference } from './020-stable-local-value.js';
7
+ } from './package-commonjs-syntax.js';
8
+ import { stableLocalValueReference } from './stable-local-value.js';
9
9
 
10
10
  export const PACKAGE_PUBLIC_SURFACE_SCHEMA =
11
11
  'service-flow/package-public-surface@1';
@@ -658,4 +658,4 @@ export function moduleInfoMap(
658
658
  }
659
659
 
660
660
  export { analyzePackagePublicSurface } from
661
- './010-package-public-surface-analysis.js';
661
+ './package-public-surface-analysis.js';
@@ -8,7 +8,7 @@ import {
8
8
  analyzePackagePublicSurface,
9
9
  type PackagePublicSurfaceAnalysis,
10
10
  type SymbolPublicSurfaceEvidence,
11
- } from './003-package-public-surface.js';
11
+ } from './package-public-surface.js';
12
12
  import type { RepositorySourceContext } from './ts-project.js';
13
13
 
14
14
  function symbolIdentity(
@@ -1,5 +1,5 @@
1
1
  import ts from 'typescript';
2
- import { isCapQueryBuilderRootName } from './000-direct-query-execution.js';
2
+ import { isCapQueryBuilderRootName } from './direct-query-execution.js';
3
3
 
4
4
  export interface BindingResolution {
5
5
  declaration?: ts.VariableDeclaration | ts.ParameterDeclaration;
@@ -15,8 +15,8 @@ import {
15
15
  createBindingLexicalIndex,
16
16
  type BindingLexicalIndex,
17
17
  type BindingSiteCandidate,
18
- } from './011-binding-lexical-scope.js';
19
- import { selectVisibleBinding } from './021-binding-visibility.js';
18
+ } from './binding-lexical-scope.js';
19
+ import { selectVisibleBinding } from './binding-visibility.js';
20
20
  import {
21
21
  arrayAssignmentName,
22
22
  arrayBindingName,
@@ -24,7 +24,7 @@ import {
24
24
  collectReturnedObjectBindings,
25
25
  directConnectFactFromFunctionLike,
26
26
  functionLikeInitializer,
27
- } from './014-service-binding-helper-flow.js';
27
+ } from './service-binding-helper-flow.js';
28
28
 
29
29
  type ResolvedHelper = { helper: HelperBinding; imp?: ImportBinding };
30
30
  type BindingEvent = {
@@ -11,8 +11,8 @@ import {
11
11
  type BindingLexicalIndex,
12
12
  type BindingSiteCandidate,
13
13
  type VisibleBinding,
14
- } from './011-binding-lexical-scope.js';
15
- import { selectVisibleBinding } from './021-binding-visibility.js';
14
+ } from './binding-lexical-scope.js';
15
+ import { selectVisibleBinding } from './binding-visibility.js';
16
16
 
17
17
  export type LocalBindingFact = Omit<
18
18
  HelperBinding,
@@ -2,7 +2,7 @@ import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import ts from 'typescript';
4
4
  import { normalizePath } from '../utils/path-utils.js';
5
- import { extractPlaceholderKeys } from '../utils/001-placeholders.js';
5
+ import { extractPlaceholderKeys } from '../utils/placeholders.js';
6
6
  import type { RepositorySourceContext } from './ts-project.js';
7
7
 
8
8
  export interface HelperBinding {
@@ -15,8 +15,8 @@ import {
15
15
  directConnectFactFromFunctionLike,
16
16
  functionLikeInitializer,
17
17
  type LocalBindingFact,
18
- } from './014-service-binding-helper-flow.js';
19
- import { collectServiceBindings } from './015-service-binding-collector.js';
18
+ } from './service-binding-helper-flow.js';
19
+ import { collectServiceBindings } from './service-binding-collector.js';
20
20
  import type { RepositorySourceContext } from './ts-project.js';
21
21
 
22
22
  interface LocalHelperFact extends LocalBindingFact {
@@ -8,9 +8,9 @@ import type {
8
8
  import {
9
9
  executableSymbolCandidates,
10
10
  selectCallOwner,
11
- } from './004-fact-identity.js';
12
- import { reconcileEventSubscriptions } from './005-event-subscription-facts.js';
13
- import { reconcileBindingAndCallIdentity } from './006-binding-identity.js';
11
+ } from './fact-identity.js';
12
+ import { reconcileEventSubscriptions } from './event-subscription-facts.js';
13
+ import { reconcileBindingAndCallIdentity } from './binding-identity.js';
14
14
  import type { ClassifiedOutboundCall } from './outbound-call-parser.js';
15
15
 
16
16
  export interface ReconciledSourceFacts {
@@ -1,10 +1,10 @@
1
1
  import ts from 'typescript';
2
2
  import {
3
3
  identifierMatchesDeclaration,
4
- } from './002-symbol-import-bindings.js';
4
+ } from './symbol-import-bindings.js';
5
5
  import {
6
6
  isUnshadowedCommonJsExportExpression,
7
- } from './018-package-commonjs-syntax.js';
7
+ } from './package-commonjs-syntax.js';
8
8
 
9
9
  function transparentUse(node: ts.Node): ts.Node {
10
10
  const parent = node.parent;
@@ -6,18 +6,18 @@ import type {
6
6
  import {
7
7
  executableSymbolCandidates,
8
8
  selectCallOwner,
9
- } from './004-fact-identity.js';
9
+ } from './fact-identity.js';
10
10
  import {
11
11
  derivedMemberImportReference,
12
12
  identifierMatchesDeclaration,
13
13
  symbolImportReference,
14
14
  type SymbolImportBinding,
15
15
  type SymbolImportReference,
16
- } from './002-symbol-import-bindings.js';
16
+ } from './symbol-import-bindings.js';
17
17
  import {
18
18
  localSymbolTarget,
19
19
  type LocalSymbolTargetIdentity,
20
- } from './016-local-symbol-reference.js';
20
+ } from './local-symbol-reference.js';
21
21
 
22
22
  export interface SymbolCallProxy {
23
23
  importSource: string;
@@ -3,12 +3,12 @@ import {
3
3
  symbolCallName,
4
4
  type SymbolCallProxy,
5
5
  type SymbolClassInstance,
6
- } from './009-symbol-call-facts.js';
6
+ } from './symbol-call-facts.js';
7
7
  import {
8
8
  identifierMatchesDeclaration,
9
9
  symbolImportReference,
10
10
  type SymbolImportBinding,
11
- } from './002-symbol-import-bindings.js';
11
+ } from './symbol-import-bindings.js';
12
12
 
13
13
  interface DerivedContextCollection {
14
14
  source: ts.SourceFile;
@@ -9,24 +9,24 @@ import {
9
9
  } from './outbound-call-parser.js';
10
10
  import type { RepositorySourceContext } from './ts-project.js';
11
11
  import { normalizePath } from '../utils/path-utils.js';
12
- import { reconcileEventSubscriptions } from './005-event-subscription-facts.js';
13
- import { reconcileSymbolCallOwners } from './007-source-fact-reconciliation.js';
12
+ import { reconcileEventSubscriptions } from './event-subscription-facts.js';
13
+ import { reconcileSymbolCallOwners } from './source-fact-reconciliation.js';
14
14
  import {
15
15
  collectSymbolImportBindings,
16
16
  type SymbolImportBinding,
17
- } from './002-symbol-import-bindings.js';
17
+ } from './symbol-import-bindings.js';
18
18
  import {
19
19
  collectSymbolCallFacts,
20
20
  symbolCallName,
21
21
  type SymbolCallProxy,
22
22
  type SymbolClassInstance,
23
- } from './009-symbol-call-facts.js';
23
+ } from './symbol-call-facts.js';
24
24
  import {
25
25
  executableBodyEligibility,
26
- } from './013-executable-body-eligibility.js';
26
+ } from './executable-body-eligibility.js';
27
27
  import {
28
28
  collectDerivedSymbolContexts,
29
- } from './017-symbol-derived-contexts.js';
29
+ } from './symbol-derived-contexts.js';
30
30
 
31
31
  function lineOf(source: ts.SourceFile, pos: number): number {
32
32
  return source.getLineAndCharacterOfPosition(pos).line + 1;
@@ -1,9 +1,9 @@
1
- import { compareBinary } from './010-traversal-scope.js';
1
+ import { compareBinary } from './traversal-scope.js';
2
2
  import type {
3
3
  CompactDecisionV1,
4
4
  CompactReferenceGroupV1,
5
5
  CompactStatus,
6
- } from './014-compact-contract.js';
6
+ } from './compact-contract.js';
7
7
 
8
8
  export const COMPACT_MISSING_NAME_LIMIT = 8;
9
9
  export const COMPACT_MISSING_NAME_MAX_LENGTH = 160;
@@ -4,7 +4,7 @@ import type {
4
4
  TraceOptions,
5
5
  TraceStart,
6
6
  } from '../types.js';
7
- import { compareBinary } from './010-traversal-scope.js';
7
+ import { compareBinary } from './traversal-scope.js';
8
8
  import type {
9
9
  CompactDecisionInput,
10
10
  CompactDecisionV1,
@@ -16,7 +16,7 @@ import type {
16
16
  CompactQueryV1,
17
17
  CompactStartV1,
18
18
  CompactStatusCountsV1,
19
- } from './014-compact-contract.js';
19
+ } from './compact-contract.js';
20
20
  import {
21
21
  compactMissingRemediation,
22
22
  isSafeCompactReferenceName,
@@ -24,7 +24,7 @@ import {
24
24
  projectCompactReferenceGroup,
25
25
  projectCompactMissingNames,
26
26
  type CompactMissingNameProjection,
27
- } from './021-compact-decision-normalization.js';
27
+ } from './compact-decision-normalization.js';
28
28
 
29
29
  const compactDiagnosticMessages: Readonly<Record<string, string>> = {
30
30
  schema_upgrade_required: 'The database schema must be upgraded before tracing.',
@@ -2,10 +2,10 @@ import type {
2
2
  CompactDecisionTargetInput,
3
3
  CompactDecisionV1,
4
4
  CompactEdgeObservation,
5
- } from './014-compact-contract.js';
6
- import { projectCompactDecision } from './020-compact-field-projection.js';
5
+ } from './compact-contract.js';
6
+ import { projectCompactDecision } from './compact-field-projection.js';
7
7
  import { normalizeCompactDecisionEquivalence } from
8
- './021-compact-decision-normalization.js';
8
+ './compact-decision-normalization.js';
9
9
 
10
10
  export interface CompactDecisionNode {
11
11
  key?: string;
@@ -1,6 +1,6 @@
1
1
  import type { Db } from '../db/connection.js';
2
2
  import { redactText } from '../utils/redaction.js';
3
- import { compareBinary as binaryCompare } from './010-traversal-scope.js';
3
+ import { compareBinary as binaryCompare } from './traversal-scope.js';
4
4
  import {
5
5
  type CompactDecisionTargetInput,
6
6
  type CompactProjectedDiagnostic,
@@ -17,16 +17,16 @@ import {
17
17
  type CompactSemanticEndpoint,
18
18
  type CompactSourceSite,
19
19
  type CompactStatus,
20
- } from './014-compact-contract.js';
20
+ } from './compact-contract.js';
21
21
  import {
22
22
  compactCompleteness, compactSafeCode, compactStatusCounts, compactStatusTotal,
23
23
  projectCompactDecisionTarget, projectCompactDiagnostics,
24
24
  projectCompactQuery, projectCompactStart,
25
- } from './020-compact-field-projection.js';
25
+ } from './compact-field-projection.js';
26
26
  import {
27
27
  projectObservationDecision,
28
28
  type CompactDecisionNode,
29
- } from './024-compact-observation-decision.js';
29
+ } from './compact-observation-decision.js';
30
30
 
31
31
  const REFERENCE_LIMIT = 5;
32
32
 
@@ -1,8 +1,8 @@
1
1
  import type { Db } from '../db/connection.js';
2
2
  import { CURRENT_SCHEMA_VERSION } from '../db/migrations.js';
3
- import type { CompactGraphV1, CompactSourceContext } from './014-compact-contract.js';
4
- import { CompactObservationCollector } from './014-compact-contract.js';
5
- import { projectCompactGraph } from './016-compact-projector.js';
3
+ import type { CompactGraphV1, CompactSourceContext } from './compact-contract.js';
4
+ import { CompactObservationCollector } from './compact-contract.js';
5
+ import { projectCompactGraph } from './compact-projector.js';
6
6
  import { traceWithObserver } from './trace-engine.js';
7
7
  import type { TraceOptions, TraceResult, TraceStart } from '../types.js';
8
8
 
@@ -1,4 +1,4 @@
1
- import { projectBounded } from '../utils/000-bounded-projection.js';
1
+ import { projectBounded } from '../utils/bounded-projection.js';
2
2
 
3
3
  export function boundedContextCandidates(values: unknown[]): {
4
4
  candidates: Array<Record<string, unknown>>;
@@ -1,7 +1,7 @@
1
1
  import type { Db } from '../db/connection.js';
2
2
  import { normalizeODataOperationInvocationPath } from '../linker/odata-path-normalizer.js';
3
3
  import { resolveOperation, type OperationResolution } from '../linker/service-resolver.js';
4
- import { boundedContextCandidates } from './006-contextual-projection.js';
4
+ import { boundedContextCandidates } from './contextual-projection.js';
5
5
 
6
6
  export interface ContextBinding {
7
7
  bindingId?: number;
@@ -1,10 +1,10 @@
1
1
  import type { Db } from '../db/connection.js';
2
- import { scanPlaceholders } from '../utils/001-placeholders.js';
2
+ import { scanPlaceholders } from '../utils/placeholders.js';
3
3
  import type {
4
4
  DynamicTargetCandidate,
5
5
  DynamicTemplates,
6
6
  DynamicVariableProvenance,
7
- } from './000-dynamic-target-types.js';
7
+ } from './dynamic-target-types.js';
8
8
 
9
9
  interface RouteImplementationEvidence {
10
10
  routeRepoId?: number;
@@ -2,8 +2,8 @@ import type { Db } from '../db/connection.js';
2
2
  import {
3
3
  projectBounded,
4
4
  type BoundedProjection,
5
- } from '../utils/000-bounded-projection.js';
6
- import type { DynamicVariableProvenance } from './000-dynamic-target-types.js';
5
+ } from '../utils/bounded-projection.js';
6
+ import type { DynamicVariableProvenance } from './dynamic-target-types.js';
7
7
 
8
8
  export interface DynamicReferenceRow {
9
9
  bindingId?: number;
@@ -7,25 +7,25 @@ import {
7
7
  import { normalizeODataOperationInvocationPath } from '../linker/odata-path-normalizer.js';
8
8
  import type { OperationTarget } from '../linker/service-resolver.js';
9
9
  import type { DynamicMode } from '../types.js';
10
- import { dynamicCandidateTargets } from './004-dynamic-candidate-sources.js';
11
- import { projectBounded } from '../utils/000-bounded-projection.js';
12
- import { uniqueIdentityDerivations } from './001-dynamic-identity.js';
10
+ import { dynamicCandidateTargets } from './dynamic-candidate-sources.js';
11
+ import { projectBounded } from '../utils/bounded-projection.js';
12
+ import { uniqueIdentityDerivations } from './dynamic-identity.js';
13
13
  import {
14
14
  dynamicReferenceProvenance,
15
15
  dynamicRoutingContext,
16
16
  type DynamicReferenceRow,
17
17
  type DynamicRoutingContext,
18
- } from './003-dynamic-references.js';
18
+ } from './dynamic-references.js';
19
19
  import type {
20
20
  DynamicTargetAnalysis,
21
21
  DynamicTargetCandidate,
22
22
  DynamicTemplates,
23
23
  DynamicVariableProvenance,
24
- } from './000-dynamic-target-types.js';
24
+ } from './dynamic-target-types.js';
25
25
  export type {
26
26
  DynamicTargetAnalysis,
27
27
  DynamicTargetCandidate,
28
- } from './000-dynamic-target-types.js';
28
+ } from './dynamic-target-types.js';
29
29
  type Templates = DynamicTemplates;
30
30
  type VariableProvenance = DynamicVariableProvenance;
31
31
  interface AnalysisInputs {
@@ -8,11 +8,11 @@ import {
8
8
  planEventSubscriberTransitions,
9
9
  type EventSubscriberTransitionQuery,
10
10
  type PlannedEventSubscriberTransition,
11
- } from './011-event-subscriber-traversal.js';
11
+ } from './event-subscriber-traversal.js';
12
12
  import type {
13
13
  TraversalScopeScheduler,
14
14
  TraversalScopeState,
15
- } from './010-traversal-scope.js';
15
+ } from './traversal-scope.js';
16
16
  import type { TraceGraphRow } from './evidence.js';
17
17
 
18
18
  export interface EventRuntimeResolution {
@@ -7,7 +7,7 @@ import {
7
7
  compareBinary,
8
8
  type TraversalScopeScheduler,
9
9
  type TraversalScopeState,
10
- } from './010-traversal-scope.js';
10
+ } from './traversal-scope.js';
11
11
 
12
12
  export type EventSubscriberTransitionStatus =
13
13
  | 'resolved'
@@ -4,12 +4,12 @@ import { normalizeODataOperationInvocationPath } from '../linker/odata-path-norm
4
4
  import { resolveOperation, type OperationTarget } from '../linker/service-resolver.js';
5
5
  import type { DynamicMode } from '../types.js';
6
6
  import { analyzeDynamicTargetCandidates, type DynamicTargetAnalysis, type DynamicTargetCandidate } from './dynamic-targets.js';
7
- import { boundCandidateLikeEvidence } from '../utils/000-bounded-projection.js';
7
+ import { boundCandidateLikeEvidence } from '../utils/bounded-projection.js';
8
8
  import {
9
9
  dynamicMissingReason,
10
10
  isStructuralContextualBlocker,
11
11
  type ContextualRuntimeState,
12
- } from './008-contextual-runtime-state.js';
12
+ } from './contextual-runtime-state.js';
13
13
 
14
14
  export interface TraceGraphRow extends Record<string, unknown> {
15
15
  id: number;
@@ -1,6 +1,6 @@
1
1
  import type { ImplementationHint } from '../types.js';
2
- import { projectBounded } from '../utils/000-bounded-projection.js';
3
- import { compareBinary } from './010-traversal-scope.js';
2
+ import { projectBounded } from '../utils/bounded-projection.js';
3
+ import { compareBinary } from './traversal-scope.js';
4
4
 
5
5
  interface Candidate {
6
6
  accepted?: boolean;
@@ -1,7 +1,7 @@
1
1
  import type { Db } from '../db/connection.js';
2
- import { canonicalImplementationEvidence } from '../linker/000-implementation-candidates.js';
2
+ import { canonicalImplementationEvidence } from '../linker/implementation-candidates.js';
3
3
  import type { ImplementationHint } from '../types.js';
4
- import { projectBounded } from '../utils/000-bounded-projection.js';
4
+ import { projectBounded } from '../utils/bounded-projection.js';
5
5
  import {
6
6
  selectImplementation,
7
7
  type ImplementationSelection,
@@ -1,13 +1,13 @@
1
1
  import type { Db } from '../db/connection.js';
2
2
  import {
3
3
  type ContextBinding,
4
- } from './008-contextual-runtime-state.js';
4
+ } from './contextual-runtime-state.js';
5
5
  import {
6
6
  type TraversalScheduleDecision,
7
7
  type TraversalScopeScheduler,
8
8
  type TraversalScopeState,
9
- } from './010-traversal-scope.js';
10
- import { contextForSymbolCall } from './017-trace-context.js';
9
+ } from './traversal-scope.js';
10
+ import { contextForSymbolCall } from './trace-context.js';
11
11
 
12
12
  export interface LocalCallExpansion {
13
13
  repoId: number;
@@ -3,7 +3,7 @@ import {
3
3
  selectedHandlerProvenance,
4
4
  type SelectedHandlerProvenance,
5
5
  type SelectedHandlerSource,
6
- } from '../linker/001-implementation-evidence-projection.js';
6
+ } from '../linker/implementation-evidence-projection.js';
7
7
 
8
8
  export interface HandlerMethodNode extends Record<string, unknown> {
9
9
  id: string;
@@ -3,7 +3,7 @@ import type { TraceStart } from '../types.js';
3
3
  import {
4
4
  projectBounded,
5
5
  type BoundedProjection,
6
- } from '../utils/000-bounded-projection.js';
6
+ } from '../utils/bounded-projection.js';
7
7
 
8
8
  export interface SelectorSourceScope {
9
9
  files?: Set<string>;
@@ -1,7 +1,7 @@
1
1
  import type { Db } from '../db/connection.js';
2
2
  import { extractPlaceholders } from '../linker/dynamic-edge-resolver.js';
3
- import { boundCandidateLikeEvidence } from '../utils/000-bounded-projection.js';
4
- import type { ContextBinding } from './008-contextual-runtime-state.js';
3
+ import { boundCandidateLikeEvidence } from '../utils/bounded-projection.js';
4
+ import type { ContextBinding } from './contextual-runtime-state.js';
5
5
 
6
6
  export interface TraceContextCall extends Record<string, unknown> {
7
7
  service_binding_id?: number;
@@ -7,13 +7,13 @@ import type {
7
7
  CompactSourceSite,
8
8
  CompactStatus,
9
9
  CompactTraceObserver,
10
- } from './014-compact-contract.js';
10
+ } from './compact-contract.js';
11
11
  import { implementationHintSuggestionProjection } from
12
12
  './implementation-hints.js';
13
13
  import {
14
14
  isSafeCompactReferenceName,
15
15
  projectCompactReferenceGroup,
16
- } from './021-compact-decision-normalization.js';
16
+ } from './compact-decision-normalization.js';
17
17
 
18
18
  export interface TraceEdgeSemantics {
19
19
  source: CompactSemanticEndpoint;
@@ -1,5 +1,5 @@
1
1
  import type { TraceEdge } from '../types.js';
2
- import type { CompactSemanticEndpoint, CompactStatus } from './014-compact-contract.js';
2
+ import type { CompactSemanticEndpoint, CompactStatus } from './compact-contract.js';
3
3
  import {
4
4
  compactDecisionFromEvidence,
5
5
  compactEvidenceReasonCode,
@@ -17,8 +17,8 @@ import {
17
17
  type SemanticCallRow,
18
18
  type SemanticTargetRow,
19
19
  type TraceEdgeRecorder,
20
- } from './015-trace-edge-recorder.js';
21
- import type { PlannedEventSubscriberTransition } from './011-event-subscriber-traversal.js';
20
+ } from './trace-edge-recorder.js';
21
+ import type { PlannedEventSubscriberTransition } from './event-subscriber-traversal.js';
22
22
  import type { DynamicCandidateBranch } from './dynamic-branches.js';
23
23
 
24
24
  interface ImplementationObservation {
@@ -1,5 +1,5 @@
1
1
  import type { Db } from '../db/connection.js';
2
- import { schemaLifecycleDiagnostic } from '../db/001-fact-lifecycle.js';
2
+ import { schemaLifecycleDiagnostic } from '../db/fact-lifecycle.js';
3
3
  import type {
4
4
  TraceEdge,
5
5
  TraceOptions,
@@ -13,21 +13,21 @@ import {
13
13
  import {
14
14
  loadTraceDiagnostics,
15
15
  prependTraceDiagnostic,
16
- } from './002-trace-diagnostics.js';
17
- import { TraversalScopeScheduler } from './010-traversal-scope.js';
18
- import { createTraceRootPlan } from './013-trace-root-scopes.js';
19
- import type { CompactTraceObserver } from './014-compact-contract.js';
20
- import { TraceEdgeRecorder } from './015-trace-edge-recorder.js';
21
- import type { ImplementationHintOptions } from './025-trace-implementation-scope.js';
16
+ } from './trace-diagnostics.js';
17
+ import { TraversalScopeScheduler } from './traversal-scope.js';
18
+ import { createTraceRootPlan } from './trace-root-scopes.js';
19
+ import type { CompactTraceObserver } from './compact-contract.js';
20
+ import { TraceEdgeRecorder } from './trace-edge-recorder.js';
21
+ import type { ImplementationHintOptions } from './trace-implementation-scope.js';
22
22
  import {
23
23
  resolveTraceStartScope,
24
24
  type TraceStartScope,
25
- } from './026-trace-start-scope.js';
25
+ } from './trace-start-scope.js';
26
26
  import {
27
27
  executeTraceScopes,
28
28
  type TraceExecutionRuntime,
29
- } from './027-trace-scope-execution.js';
30
- import { recordTraceStartImplementation } from './029-trace-start-implementation.js';
29
+ } from './trace-scope-execution.js';
30
+ import { recordTraceStartImplementation } from './trace-start-implementation.js';
31
31
  import { selectorNotFoundDiagnostic } from './selectors.js';
32
32
 
33
33
  const compactObserverKey = Symbol('service-flow.compact-trace-observer');