@telora/daemon 0.19.35 → 0.19.37

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 (56) hide show
  1. package/build-info.json +4 -3
  2. package/dist/queries/code-metrics.d.ts +4 -0
  3. package/dist/queries/code-metrics.d.ts.map +1 -1
  4. package/dist/queries/code-metrics.js.map +1 -1
  5. package/dist/resolvers/compose/focus-injections-compose.d.ts +61 -0
  6. package/dist/resolvers/compose/focus-injections-compose.d.ts.map +1 -0
  7. package/dist/resolvers/compose/focus-injections-compose.js +72 -0
  8. package/dist/resolvers/compose/focus-injections-compose.js.map +1 -0
  9. package/dist/resolvers/compose/loop-context-compose.d.ts +51 -0
  10. package/dist/resolvers/compose/loop-context-compose.d.ts.map +1 -0
  11. package/dist/resolvers/compose/loop-context-compose.js +66 -0
  12. package/dist/resolvers/compose/loop-context-compose.js.map +1 -0
  13. package/dist/resolvers/compose/loop-frt-statement-compose.d.ts +24 -0
  14. package/dist/resolvers/compose/loop-frt-statement-compose.d.ts.map +1 -0
  15. package/dist/resolvers/compose/loop-frt-statement-compose.js +30 -0
  16. package/dist/resolvers/compose/loop-frt-statement-compose.js.map +1 -0
  17. package/dist/resolvers/compose/loop-injection-compose.d.ts +30 -0
  18. package/dist/resolvers/compose/loop-injection-compose.d.ts.map +1 -0
  19. package/dist/resolvers/compose/loop-injection-compose.js +40 -0
  20. package/dist/resolvers/compose/loop-injection-compose.js.map +1 -0
  21. package/dist/resolvers/compose/loop-persona-compose.d.ts +24 -0
  22. package/dist/resolvers/compose/loop-persona-compose.d.ts.map +1 -0
  23. package/dist/resolvers/compose/loop-persona-compose.js +24 -0
  24. package/dist/resolvers/compose/loop-persona-compose.js.map +1 -0
  25. package/dist/resolvers/compose/loop-upstream-udes-compose.d.ts +44 -0
  26. package/dist/resolvers/compose/loop-upstream-udes-compose.d.ts.map +1 -0
  27. package/dist/resolvers/compose/loop-upstream-udes-compose.js +75 -0
  28. package/dist/resolvers/compose/loop-upstream-udes-compose.js.map +1 -0
  29. package/dist/resolvers/focus-injections.d.ts +4 -0
  30. package/dist/resolvers/focus-injections.d.ts.map +1 -1
  31. package/dist/resolvers/focus-injections.js +6 -50
  32. package/dist/resolvers/focus-injections.js.map +1 -1
  33. package/dist/resolvers/loop-context.d.ts +12 -9
  34. package/dist/resolvers/loop-context.d.ts.map +1 -1
  35. package/dist/resolvers/loop-context.js +87 -102
  36. package/dist/resolvers/loop-context.js.map +1 -1
  37. package/dist/resolvers/loop-frt-statement.d.ts +3 -0
  38. package/dist/resolvers/loop-frt-statement.d.ts.map +1 -1
  39. package/dist/resolvers/loop-frt-statement.js +7 -8
  40. package/dist/resolvers/loop-frt-statement.js.map +1 -1
  41. package/dist/resolvers/loop-injection.d.ts +4 -0
  42. package/dist/resolvers/loop-injection.d.ts.map +1 -1
  43. package/dist/resolvers/loop-injection.js +8 -18
  44. package/dist/resolvers/loop-injection.js.map +1 -1
  45. package/dist/resolvers/loop-persona.d.ts.map +1 -1
  46. package/dist/resolvers/loop-persona.js +2 -3
  47. package/dist/resolvers/loop-persona.js.map +1 -1
  48. package/dist/resolvers/loop-upstream-udes.d.ts +5 -0
  49. package/dist/resolvers/loop-upstream-udes.d.ts.map +1 -1
  50. package/dist/resolvers/loop-upstream-udes.js +14 -51
  51. package/dist/resolvers/loop-upstream-udes.js.map +1 -1
  52. package/dist/sensor-sweep.d.ts +58 -6
  53. package/dist/sensor-sweep.d.ts.map +1 -1
  54. package/dist/sensor-sweep.js +95 -9
  55. package/dist/sensor-sweep.js.map +1 -1
  56. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"loop-injection.js","sourceRoot":"","sources":["../../src/resolvers/loop-injection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEpF;;;;;;;GAOG;AACH,oGAAoG;AACpG,MAAM,UAAU,6BAA6B;IAC3C,sBAAsB,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAC3F,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;gBAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,MAAM,aAAa,GAAG,GAAG,CAAC,iBAAiB;oBACzC,CAAC,CAAC,6BAA6B,GAAG,CAAC,iBAAiB,EAAE;oBACtD,CAAC,CAAC,IAAI,CAAC;gBAET,MAAM,KAAK,GAAa;oBACtB,OAAO,YAAY,EAAE;oBACrB,EAAE;oBACF,oBAAoB,GAAG,CAAC,SAAS,GAAG,SAAS,EAAE;oBAC/C,2BAA2B,GAAG,CAAC,eAAe,IAAI,WAAW,EAAE;iBAChE,CAAC;gBACF,IAAI,aAAa;oBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACrC,OAAO,uCAAuC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,qCAAsC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"loop-injection.js","sourceRoot":"","sources":["../../src/resolvers/loop-injection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E;;;;;;;;;;;GAWG;AACH,oGAAoG;AACpG,MAAM,UAAU,6BAA6B;IAC3C,sBAAsB,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAC3F,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,OAAO,GAAyB,EAAE,CAAC;YACzC,KAAK,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;gBAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,qCAAsC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loop-persona.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-persona.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;GAiBG;AACH,oGAAoG;AACpG,wBAAgB,2BAA2B,IAAI,IAAI,CAkBlD"}
1
+ {"version":3,"file":"loop-persona.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-persona.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;GAiBG;AACH,oGAAoG;AACpG,wBAAgB,2BAA2B,IAAI,IAAI,CAiBlD"}
@@ -1,6 +1,7 @@
1
1
  import { registerSourceResolver } from '../assembly-engine.js';
2
2
  import { callApi } from '../queries/shared.js';
3
3
  import { buildCloseLoopBookkeeperPersona } from '../team-prompt-base.js';
4
+ import { composeLoopPersona } from './compose/loop-persona-compose.js';
4
5
  /**
5
6
  * loop.persona
6
7
  *
@@ -30,9 +31,7 @@ export function registerLoopPersonaResolver() {
30
31
  entityType: 'focus',
31
32
  entityId: context.focusId,
32
33
  });
33
- if (!result.persona || !result.persona.content)
34
- return '';
35
- return result.persona.content;
34
+ return composeLoopPersona(result.persona);
36
35
  }
37
36
  catch (err) {
38
37
  console.warn(`[assembly-engine] loop.persona: failed: ${err.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"loop-persona.js","sourceRoot":"","sources":["../../src/resolvers/loop-persona.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAGzE;;;;;;;;;;;;;;;;;GAiBG;AACH,oGAAoG;AACpG,MAAM,UAAU,2BAA2B;IACzC,sBAAsB,CAAC,cAAc,EAAE,KAAK,EAAE,OAAwB,EAAE,MAA8B,EAAmB,EAAE;QACzH,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,+BAA+B,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAoB,kBAAkB,EAAE;gBAClE,UAAU,EAAE,OAAO;gBACnB,QAAQ,EAAE,OAAO,CAAC,OAAO;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;YAC1D,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,2CAA4C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"loop-persona.js","sourceRoot":"","sources":["../../src/resolvers/loop-persona.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGvE;;;;;;;;;;;;;;;;;GAiBG;AACH,oGAAoG;AACpG,MAAM,UAAU,2BAA2B;IACzC,sBAAsB,CAAC,cAAc,EAAE,KAAK,EAAE,OAAwB,EAAE,MAA8B,EAAmB,EAAE;QACzH,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,+BAA+B,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAoB,kBAAkB,EAAE;gBAClE,UAAU,EAAE,OAAO;gBACnB,QAAQ,EAAE,OAAO,CAAC,OAAO;aAC1B,CAAC,CAAC;YAEH,OAAO,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,2CAA4C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -6,6 +6,11 @@
6
6
  * along causal edges ('sufficient' and 'and' edge kinds) up to
7
7
  * MAX_UPSTREAM_DEPTH hops. Returns a markdown list of upstream UDE/
8
8
  * entity nodes the injection is indirectly meant to address. Cycle-safe.
9
+ *
10
+ * THIN FETCH HALF: this resolver hoists the per-delivery node/edge fetch out
11
+ * up front and hands the already-fetched rows to the shared, drift-mirrored
12
+ * `composeLoopUpstreamUdes`, whose BFS + render runs identically in the
13
+ * inspector's preview.
9
14
  */
10
15
  /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
11
16
  export declare function registerLoopUpstreamUdesResolver(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"loop-upstream-udes.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-upstream-udes.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AACH,oGAAoG;AACpG,wBAAgB,gCAAgC,IAAI,IAAI,CA4EvD"}
1
+ {"version":3,"file":"loop-upstream-udes.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-upstream-udes.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;GAaG;AACH,oGAAoG;AACpG,wBAAgB,gCAAgC,IAAI,IAAI,CAmCvD"}
@@ -1,6 +1,7 @@
1
1
  import { registerSourceResolver } from '../assembly-engine.js';
2
2
  import { callApi } from '../queries/shared.js';
3
- import { getDeliveryInjectionPairs, fetchInjectionBundles, MAX_UPSTREAM_DEPTH } from './shared/loop.js';
3
+ import { getDeliveryInjectionPairs, fetchInjectionBundles } from './shared/loop.js';
4
+ import { composeLoopUpstreamUdes } from './compose/loop-upstream-udes-compose.js';
4
5
  /**
5
6
  * loop.upstream_udes
6
7
  *
@@ -9,6 +10,11 @@ import { getDeliveryInjectionPairs, fetchInjectionBundles, MAX_UPSTREAM_DEPTH }
9
10
  * along causal edges ('sufficient' and 'and' edge kinds) up to
10
11
  * MAX_UPSTREAM_DEPTH hops. Returns a markdown list of upstream UDE/
11
12
  * entity nodes the injection is indirectly meant to address. Cycle-safe.
13
+ *
14
+ * THIN FETCH HALF: this resolver hoists the per-delivery node/edge fetch out
15
+ * up front and hands the already-fetched rows to the shared, drift-mirrored
16
+ * `composeLoopUpstreamUdes`, whose BFS + render runs identically in the
17
+ * inspector's preview.
12
18
  */
13
19
  /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
14
20
  export function registerLoopUpstreamUdesResolver() {
@@ -20,7 +26,7 @@ export function registerLoopUpstreamUdesResolver() {
20
26
  const bundles = await fetchInjectionBundles(pairs.map((p) => p.injectionId));
21
27
  if (bundles.size === 0)
22
28
  return '';
23
- const sections = [];
29
+ const entries = [];
24
30
  for (const { deliveryName, injectionId } of pairs) {
25
31
  const bundle = bundles.get(injectionId);
26
32
  if (!bundle)
@@ -30,57 +36,14 @@ export function registerLoopUpstreamUdesResolver() {
30
36
  callApi('reality_tree_node_list', { treeId, status: 'active' }),
31
37
  callApi('reality_tree_edge_list', { treeId }),
32
38
  ]);
33
- const nodes = nodesResp.items ?? [];
34
- const edges = edgesResp.items ?? [];
35
- const nodeById = new Map();
36
- for (const n of nodes)
37
- nodeById.set(n.id, n);
38
- // Seed: the nodes the injection targets directly.
39
- const seeds = edges
40
- .filter((e) => e.edgeType === 'targets' && e.fromNodeId === injectionId)
41
- .map((e) => e.toNodeId);
42
- if (seeds.length === 0)
43
- continue;
44
- // BFS upstream along causal edges: walk edges where to_node_id is
45
- // in the current frontier; the from_node_id of those edges is the
46
- // upstream node. Bounded by MAX_UPSTREAM_DEPTH and cycle-safe via
47
- // visited set. Seeds themselves are excluded from output (we want
48
- // their upstream, not the seeds).
49
- const visited = new Set(seeds);
50
- const collected = [];
51
- let frontier = new Set(seeds);
52
- for (let depth = 0; depth < MAX_UPSTREAM_DEPTH; depth++) {
53
- if (frontier.size === 0)
54
- break;
55
- const next = new Set();
56
- for (const edge of edges) {
57
- if (edge.edgeType !== 'sufficient' && edge.edgeType !== 'and')
58
- continue;
59
- if (!frontier.has(edge.toNodeId))
60
- continue;
61
- const upId = edge.fromNodeId;
62
- if (visited.has(upId))
63
- continue;
64
- visited.add(upId);
65
- next.add(upId);
66
- const upNode = nodeById.get(upId);
67
- if (upNode)
68
- collected.push(upNode);
69
- }
70
- frontier = next;
71
- }
72
- if (collected.length === 0)
73
- continue;
74
- collected.sort((a, b) => a.seq - b.seq);
75
- const lines = collected.map((n) => {
76
- const typeTag = n.nodeType !== 'entity' ? ` [${n.nodeType}]` : '';
77
- return `- #${n.seq} ${n.statement}${typeTag}`;
39
+ entries.push({
40
+ deliveryName,
41
+ injectionId,
42
+ nodes: nodesResp.items ?? [],
43
+ edges: edgesResp.items ?? [],
78
44
  });
79
- sections.push(`### ${deliveryName}\n\n${lines.join('\n')}`);
80
45
  }
81
- if (sections.length === 0)
82
- return '';
83
- return `## Upstream UDEs (per delivery, max depth ${MAX_UPSTREAM_DEPTH})\n\n${sections.join('\n\n')}`;
46
+ return composeLoopUpstreamUdes(entries);
84
47
  }
85
48
  catch (err) {
86
49
  console.warn(`[assembly] loop.upstream_udes failed: ${err.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"loop-upstream-udes.js","sourceRoot":"","sources":["../../src/resolvers/loop-upstream-udes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAOxG;;;;;;;;GAQG;AACH,oGAAoG;AACpG,MAAM,UAAU,gCAAgC;IAC9C,sBAAsB,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAC/F,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;gBAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAEtB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;gBAC9C,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC/C,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;oBACjF,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,CAAC;iBAChE,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,KAAK;oBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAE7C,kDAAkD;gBAClD,MAAM,KAAK,GAAG,KAAK;qBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC;qBACvE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAE1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAEjC,kEAAkE;gBAClE,kEAAkE;gBAClE,kEAAkE;gBAClE,kEAAkE;gBAClE,kCAAkC;gBAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,KAAK,CAAC,CAAC;gBACvC,MAAM,SAAS,GAAqB,EAAE,CAAC;gBAEvC,IAAI,QAAQ,GAAG,IAAI,GAAG,CAAS,KAAK,CAAC,CAAC;gBACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,kBAAkB,EAAE,KAAK,EAAE,EAAE,CAAC;oBACxD,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;wBAAE,MAAM;oBAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;oBAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;4BAAE,SAAS;wBACxE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;4BAAE,SAAS;wBAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;wBAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;4BAAE,SAAS;wBAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACf,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAClC,IAAI,MAAM;4BAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrC,CAAC;oBACD,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;gBAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAErC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAChC,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,OAAO,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,GAAG,OAAO,EAAE,CAAC;gBAChD,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,IAAI,CAAC,OAAO,YAAY,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACrC,OAAO,6CAA6C,kBAAkB,QAAQ,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,yCAA0C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAChF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"loop-upstream-udes.js","sourceRoot":"","sources":["../../src/resolvers/loop-upstream-udes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAKpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAGlF;;;;;;;;;;;;;GAaG;AACH,oGAAoG;AACpG,MAAM,UAAU,gCAAgC;IAC9C,sBAAsB,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAC/F,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,OAAO,GAA4B,EAAE,CAAC;YAE5C,KAAK,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;gBAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAEtB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;gBAC9C,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC/C,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;oBACjF,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,CAAC;iBAChE,CAAC,CAAC;gBAEH,OAAO,CAAC,IAAI,CAAC;oBACX,YAAY;oBACZ,WAAW;oBACX,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;oBAC5B,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,yCAA0C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAChF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -8,7 +8,11 @@
8
8
  * - git churn + hotspot mass (change frequency x a language-agnostic size /
9
9
  * indentation-complexity proxy over the changed set);
10
10
  * - lint-gate ratchet exception counts harvested from scripts/lint-config.json;
11
- * - dependency freshness derived from the package manifests.
11
+ * - dependency freshness derived from the package manifests;
12
+ * - intent-aligned churn: the fraction of window churn whose paths fall inside
13
+ * the footprint of active foci/deliveries (the paths their focus branches
14
+ * touch) vs outside any declared intent -- the Telora-native differential
15
+ * metric at the artifact layer (activity without intent reduction is noise).
12
16
  *
13
17
  * Purely deterministic: git + filesystem reads only, NO LLM and NO network
14
18
  * beyond the local repo. Burn is drift-proportional: a product whose repo HEAD
@@ -21,6 +25,18 @@
21
25
  * without a real repo. Mirrors the drift-eval-loop.ts dependency-injection
22
26
  * pattern.
23
27
  *
28
+ * MINING WINDOW IS TIME-BOUNDED, NOT COUNT-BOUNDED. The churn/hotspot window is
29
+ * a fixed real-time span (`DEFAULT_WINDOW_DAYS`), not a fixed commit count. A
30
+ * count-bounded window (e.g. "last 500 commits") makes consecutive snapshots
31
+ * cover different lengths of real time, so cross-snapshot trends partly measure
32
+ * commit velocity rather than code health -- a busy month and a quiet quarter
33
+ * both look like "500 commits." Anchoring the window to calendar time makes
34
+ * consecutive snapshots cover comparable spans, so a rising/falling trend
35
+ * reflects the health of the code (churn, hotspot mass) independent of how fast
36
+ * the team happened to be committing. A large secondary commit-count SAFETY CAP
37
+ * (`COMMIT_SAFETY_CAP`) bounds the worst case so an extremely busy repo cannot
38
+ * blow up the window; it is a defensive backstop, not the primary bound.
39
+ *
24
40
  * @module sensor-sweep
25
41
  */
26
42
  import type { CodeMetricsSnapshotInput, LatestCodeMetrics } from './queries/code-metrics.js';
@@ -32,8 +48,10 @@ export interface FileChurn {
32
48
  lastCommitMs: number;
33
49
  }
34
50
  /**
35
- * Parse `git log -n<N> --numstat --format=COMMIT:%H %aI` output into per-file
36
- * churn. Pure: no git process. Binary numstat rows (`-\t-`) are skipped.
51
+ * Parse `git log --since=<span> --numstat --format=COMMIT:%H %aI` output into
52
+ * per-file churn. Pure: no git process. Binary numstat rows (`-\t-`) are
53
+ * skipped. The `--format` output shape is identical regardless of whether the
54
+ * window was count- or time-bounded, so this parser is unchanged.
37
55
  */
38
56
  export declare function parseNumstatPerFile(output: string): Map<string, FileChurn>;
39
57
  /**
@@ -62,6 +80,27 @@ export declare function aggregateAreas(perFile: Map<string, FileChurn>, complexi
62
80
  totalChurn: number;
63
81
  totalHotspotMass: number;
64
82
  };
83
+ /** Intent-aligned churn: how much of the window churn served declared intent. */
84
+ export interface IntentAlignedChurn {
85
+ /** Lines of window churn on paths inside the active-intent footprint. */
86
+ alignedChurn: number;
87
+ /** Total lines changed in the window (all paths). */
88
+ totalChurn: number;
89
+ /** alignedChurn / totalChurn, bounded 0-1 (0 when there was no churn). */
90
+ alignedRatio: number;
91
+ }
92
+ /**
93
+ * The Telora-native differential metric at the artifact layer: what FRACTION of
94
+ * the window churn landed inside the footprint of active foci/deliveries
95
+ * (`intentPaths`) versus outside any declared intent. Activity without intent
96
+ * reduction is noise -- this makes that noise measurable.
97
+ *
98
+ * Pure over the injected per-file churn + the intent-path set: no git. A file is
99
+ * "aligned" when its exact repo-relative path is in `intentPaths` (the union of
100
+ * paths the active focus branches have changed). The ratio is bounded 0-1 and is
101
+ * scale-free, so it is comparable across snapshots regardless of absolute churn.
102
+ */
103
+ export declare function computeIntentAlignedChurn(perFile: Map<string, FileChurn>, intentPaths: ReadonlySet<string>): IntentAlignedChurn;
65
104
  /**
66
105
  * Count lint-gate ratchet exceptions from a parsed scripts/lint-config.json.
67
106
  * Each top-level category (except `_comment`) is an array of allowlist entries;
@@ -97,8 +136,12 @@ export declare function isOutdatedSpec(spec: string): boolean;
97
136
  /** FNV-1a 32-bit -- a small, dependency-free deterministic string hash. */
98
137
  export declare function fnv1a(input: string): string;
99
138
  export interface SensorSweepDeps {
100
- /** Raw `git log -n<window> --numstat --format=COMMIT:%H %aI` output for a repo. */
101
- gitNumstat: (repoPath: string, window: number) => string;
139
+ /**
140
+ * Raw `git log --since=<windowDays>.days.ago -n<commitCap> --numstat
141
+ * --format=COMMIT:%H %aI` output for a repo. The window is TIME-bounded
142
+ * (`windowDays`) with `commitCap` as a defensive secondary cap.
143
+ */
144
+ gitNumstat: (repoPath: string, windowDays: number, commitCap: number) => string;
102
145
  /** All tracked files (`git ls-files`) -- the cold baseline count + areas. */
103
146
  listTrackedFiles: (repoPath: string) => string[];
104
147
  /** Read a repo-relative file body, or null when unreadable (deleted/binary). */
@@ -109,12 +152,21 @@ export interface SensorSweepDeps {
109
152
  readManifests: (repoPath: string) => Manifest[];
110
153
  /** Current HEAD sha, or null when git fails. */
111
154
  resolveHeadSha: (repoPath: string) => string | null;
155
+ /**
156
+ * Repo-relative paths inside the footprint of active foci/deliveries -- the
157
+ * union of paths that unmerged focus branches (`agent/<role>/<slug>-<id>`) have
158
+ * changed vs the current mainline. The declared-intent half of the differential.
159
+ */
160
+ listIntentPaths: (repoPath: string) => string[];
112
161
  getLatest: (productId: string) => Promise<LatestCodeMetrics | null>;
113
162
  createSnapshot: (productId: string, input: CodeMetricsSnapshotInput) => Promise<{
114
163
  id: string;
115
164
  }>;
116
165
  now: () => number;
117
- commitWindow: number;
166
+ /** Primary bound: real-time span (days) of the churn/hotspot mining window. */
167
+ windowDays: number;
168
+ /** Secondary defensive cap on the number of commits mined. */
169
+ commitCap: number;
118
170
  }
119
171
  export interface SensorSweepCounts {
120
172
  productsScanned: number;
@@ -1 +1 @@
1
- {"version":3,"file":"sensor-sweep.d.ts","sourceRoot":"","sources":["../src/sensor-sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU/C,yDAAyD;AACzD,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAiC1E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUvD;AAED,6EAA6E;AAC7E,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAI1D;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EAC9C,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,GACR;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CA+BvE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAmBpG;AAED,8CAA8C;AAC9C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,YAAY,EAAE,MAAM,CAAC;CACtB,CA+BA;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMpD;AAED,2EAA2E;AAC3E,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO3C;AAMD,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,6EAA6E;IAC7E,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACjD,gFAAgF;IAChF,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/D,4DAA4D;IAC5D,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IACrD,6CAA6C;IAC7C,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;IAChD,gDAAgD;IAChD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACpD,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACpE,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChG,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,sBAAsB,IAAI,eAAe,CAuCxD;AA6BD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,eAAe,GACpB,wBAAwB,GAAG,IAAI,CAgCjC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,GAAE,OAAO,CAAC,eAAe,CAAM,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAkC5B"}
1
+ {"version":3,"file":"sensor-sweep.d.ts","sourceRoot":"","sources":["../src/sensor-sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAOH,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAuB/C,yDAAyD;AACzD,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAiC1E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUvD;AAED,6EAA6E;AAC7E,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAI1D;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EAC9C,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,GACR;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CA+BvE;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAC/B,kBAAkB,CASpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAmBpG;AAED,8CAA8C;AAC9C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,YAAY,EAAE,MAAM,CAAC;CACtB,CA+BA;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMpD;AAED,2EAA2E;AAC3E,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO3C;AAMD,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAChF,6EAA6E;IAC7E,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACjD,gFAAgF;IAChF,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/D,4DAA4D;IAC5D,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IACrD,6CAA6C;IAC7C,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;IAChD,gDAAgD;IAChD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACpD;;;;OAIG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAChD,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACpE,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChG,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,sBAAsB,IAAI,eAAe,CA2ExD;AA6BD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,eAAe,GACpB,wBAAwB,GAAG,IAAI,CAmCjC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,GAAE,OAAO,CAAC,eAAe,CAAM,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAkC5B"}
@@ -8,7 +8,11 @@
8
8
  * - git churn + hotspot mass (change frequency x a language-agnostic size /
9
9
  * indentation-complexity proxy over the changed set);
10
10
  * - lint-gate ratchet exception counts harvested from scripts/lint-config.json;
11
- * - dependency freshness derived from the package manifests.
11
+ * - dependency freshness derived from the package manifests;
12
+ * - intent-aligned churn: the fraction of window churn whose paths fall inside
13
+ * the footprint of active foci/deliveries (the paths their focus branches
14
+ * touch) vs outside any declared intent -- the Telora-native differential
15
+ * metric at the artifact layer (activity without intent reduction is noise).
12
16
  *
13
17
  * Purely deterministic: git + filesystem reads only, NO LLM and NO network
14
18
  * beyond the local repo. Burn is drift-proportional: a product whose repo HEAD
@@ -21,6 +25,18 @@
21
25
  * without a real repo. Mirrors the drift-eval-loop.ts dependency-injection
22
26
  * pattern.
23
27
  *
28
+ * MINING WINDOW IS TIME-BOUNDED, NOT COUNT-BOUNDED. The churn/hotspot window is
29
+ * a fixed real-time span (`DEFAULT_WINDOW_DAYS`), not a fixed commit count. A
30
+ * count-bounded window (e.g. "last 500 commits") makes consecutive snapshots
31
+ * cover different lengths of real time, so cross-snapshot trends partly measure
32
+ * commit velocity rather than code health -- a busy month and a quiet quarter
33
+ * both look like "500 commits." Anchoring the window to calendar time makes
34
+ * consecutive snapshots cover comparable spans, so a rising/falling trend
35
+ * reflects the health of the code (churn, hotspot mass) independent of how fast
36
+ * the team happened to be committing. A large secondary commit-count SAFETY CAP
37
+ * (`COMMIT_SAFETY_CAP`) bounds the worst case so an extremely busy repo cannot
38
+ * blow up the window; it is a defensive backstop, not the primary bound.
39
+ *
24
40
  * @module sensor-sweep
25
41
  */
26
42
  import { readFileSync, readdirSync, existsSync } from 'node:fs';
@@ -28,12 +44,27 @@ import { join } from 'node:path';
28
44
  import { runGitSync } from './git-types.js';
29
45
  import { configForProduct } from './config.js';
30
46
  import { getLatestCodeMetrics, createCodeMetricsSnapshot } from './queries/code-metrics.js';
31
- /** How many recent commits define the churn/hotspot mining window. */
32
- const DEFAULT_COMMIT_WINDOW = 500;
47
+ /**
48
+ * Real-time span (days) that defines the churn/hotspot mining window. This is
49
+ * the PRIMARY bound: consecutive snapshots cover comparable calendar spans so
50
+ * trends measure code health, not commit velocity. 90 days is one quarter --
51
+ * long enough to capture a meaningful change-frequency signal, short enough to
52
+ * stay responsive to recent activity.
53
+ */
54
+ const DEFAULT_WINDOW_DAYS = 90;
55
+ /**
56
+ * Secondary defensive bound on the number of commits mined. NOT the primary
57
+ * window -- it only caps the worst case so an extremely busy repo (thousands of
58
+ * commits inside the day window) cannot blow up parsing/memory. Set far above
59
+ * any realistic 90-day commit count.
60
+ */
61
+ const COMMIT_SAFETY_CAP = 5000;
33
62
  const MS_PER_DAY = 86_400_000;
34
63
  /**
35
- * Parse `git log -n<N> --numstat --format=COMMIT:%H %aI` output into per-file
36
- * churn. Pure: no git process. Binary numstat rows (`-\t-`) are skipped.
64
+ * Parse `git log --since=<span> --numstat --format=COMMIT:%H %aI` output into
65
+ * per-file churn. Pure: no git process. Binary numstat rows (`-\t-`) are
66
+ * skipped. The `--format` output shape is identical regardless of whether the
67
+ * window was count- or time-bounded, so this parser is unchanged.
37
68
  */
38
69
  export function parseNumstatPerFile(output) {
39
70
  const perFile = new Map();
@@ -134,6 +165,28 @@ export function aggregateAreas(perFile, complexityFor, nowMs, depth = 2) {
134
165
  .sort((a, b) => b.hotspotMass - a.hotspotMass);
135
166
  return { areas, totalChurn, totalHotspotMass };
136
167
  }
168
+ /**
169
+ * The Telora-native differential metric at the artifact layer: what FRACTION of
170
+ * the window churn landed inside the footprint of active foci/deliveries
171
+ * (`intentPaths`) versus outside any declared intent. Activity without intent
172
+ * reduction is noise -- this makes that noise measurable.
173
+ *
174
+ * Pure over the injected per-file churn + the intent-path set: no git. A file is
175
+ * "aligned" when its exact repo-relative path is in `intentPaths` (the union of
176
+ * paths the active focus branches have changed). The ratio is bounded 0-1 and is
177
+ * scale-free, so it is comparable across snapshots regardless of absolute churn.
178
+ */
179
+ export function computeIntentAlignedChurn(perFile, intentPaths) {
180
+ let alignedChurn = 0;
181
+ let totalChurn = 0;
182
+ for (const [file, churn] of perFile) {
183
+ totalChurn += churn.linesChanged;
184
+ if (intentPaths.has(file))
185
+ alignedChurn += churn.linesChanged;
186
+ }
187
+ const alignedRatio = totalChurn > 0 ? alignedChurn / totalChurn : 0;
188
+ return { alignedChurn, totalChurn, alignedRatio };
189
+ }
137
190
  /**
138
191
  * Count lint-gate ratchet exceptions from a parsed scripts/lint-config.json.
139
192
  * Each top-level category (except `_comment`) is an array of allowlist entries;
@@ -220,8 +273,14 @@ export function fnv1a(input) {
220
273
  }
221
274
  export function defaultSensorSweepDeps() {
222
275
  return {
223
- gitNumstat: (repoPath, window) => {
224
- const result = runGitSync(['log', `-n${window}`, '--numstat', '--format=COMMIT:%H %aI'], repoPath, { timeoutMs: 60_000 });
276
+ gitNumstat: (repoPath, windowDays, commitCap) => {
277
+ const result = runGitSync([
278
+ 'log',
279
+ `--since=${windowDays}.days.ago`,
280
+ `-n${commitCap}`,
281
+ '--numstat',
282
+ '--format=COMMIT:%H %aI',
283
+ ], repoPath, { timeoutMs: 60_000 });
225
284
  return result.success ? (result.output ?? '') : '';
226
285
  },
227
286
  listTrackedFiles: (repoPath) => {
@@ -251,10 +310,34 @@ export function defaultSensorSweepDeps() {
251
310
  const result = runGitSync(['rev-parse', 'HEAD'], repoPath, { timeoutMs: 15_000 });
252
311
  return result.success ? result.output.trim() : null;
253
312
  },
313
+ listIntentPaths: (repoPath) => {
314
+ // Enumerate active focus branches (agent/<role>/<slug>-<id>) and union the
315
+ // paths each has changed vs the current mainline (three-dot HEAD...branch,
316
+ // which diffs from their merge-base). Git-only + deterministic; a repo with
317
+ // no active focus branches yields an empty footprint (ratio -> 0).
318
+ const branchResult = runGitSync(['branch', '--list', 'agent/*', '--format=%(refname:short)'], repoPath, { timeoutMs: 15_000 });
319
+ if (!branchResult.success)
320
+ return [];
321
+ const branches = branchResult.output
322
+ .split('\n')
323
+ .map((l) => l.trim())
324
+ .filter(Boolean);
325
+ const paths = new Set();
326
+ for (const branch of branches) {
327
+ const diff = runGitSync(['diff', '--name-only', `HEAD...${branch}`], repoPath, { timeoutMs: 30_000 });
328
+ if (!diff.success)
329
+ continue;
330
+ for (const p of diff.output.split('\n').map((l) => l.trim()).filter(Boolean)) {
331
+ paths.add(p);
332
+ }
333
+ }
334
+ return [...paths];
335
+ },
254
336
  getLatest: getLatestCodeMetrics,
255
337
  createSnapshot: createCodeMetricsSnapshot,
256
338
  now: () => Date.now(),
257
- commitWindow: DEFAULT_COMMIT_WINDOW,
339
+ windowDays: DEFAULT_WINDOW_DAYS,
340
+ commitCap: COMMIT_SAFETY_CAP,
258
341
  };
259
342
  }
260
343
  /** Discover package.json manifests at the repo root and one level into packages/ + mcp/. */
@@ -296,7 +379,7 @@ export function mineRepoSnapshot(repoPath, deps) {
296
379
  const repoHead = deps.resolveHeadSha(repoPath);
297
380
  if (!repoHead)
298
381
  return null;
299
- const perFile = parseNumstatPerFile(deps.gitNumstat(repoPath, deps.commitWindow));
382
+ const perFile = parseNumstatPerFile(deps.gitNumstat(repoPath, deps.windowDays, deps.commitCap));
300
383
  const complexityCache = new Map();
301
384
  const complexityFor = (file) => {
302
385
  if (complexityCache.has(file))
@@ -310,6 +393,7 @@ export function mineRepoSnapshot(repoPath, deps) {
310
393
  const ratchets = countRatchets(deps.readLintConfig(repoPath));
311
394
  const manifests = analyzeManifests(deps.readManifests(repoPath));
312
395
  const fileCount = deps.listTrackedFiles(repoPath).length;
396
+ const intentAligned = computeIntentAlignedChurn(perFile, new Set(deps.listIntentPaths(repoPath)));
313
397
  return {
314
398
  repoHead,
315
399
  manifestHash: manifests.manifestHash,
@@ -322,6 +406,8 @@ export function mineRepoSnapshot(repoPath, deps) {
322
406
  areas,
323
407
  ratchetDetail: ratchets.detail,
324
408
  dependencyDetail: manifests.detail,
409
+ intentAlignedChurn: intentAligned.alignedChurn,
410
+ intentAlignedRatio: intentAligned.alignedRatio,
325
411
  };
326
412
  }
327
413
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sensor-sweep.js","sourceRoot":"","sources":["../src/sensor-sweep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sensor-sweep.js","sourceRoot":"","sources":["../src/sensor-sweep.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telora/daemon",
3
- "version": "0.19.35",
3
+ "version": "0.19.37",
4
4
  "description": "Agent orchestration daemon for Telora - spawns and manages Claude Code instances",
5
5
  "type": "module",
6
6
  "bin": {