@poncho-ai/harness 0.46.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
 
2
- > @poncho-ai/harness@0.46.0 build /home/runner/work/poncho-ai/poncho-ai/packages/harness
2
+ > @poncho-ai/harness@0.47.0 build /home/runner/work/poncho-ai/poncho-ai/packages/harness
3
3
  > node scripts/embed-docs.js && tsup src/index.ts --format esm --dts
4
4
 
5
5
  [embed-docs] Generated poncho-docs.ts with 4 topics
@@ -8,9 +8,9 @@
8
8
  CLI tsup v8.5.1
9
9
  CLI Target: es2022
10
10
  ESM Build start
11
- ESM dist/index.js 525.40 KB
12
11
  ESM dist/isolate-VY35DGLM.js 49.43 KB
13
- ESM ⚡️ Build success in 214ms
12
+ ESM dist/index.js 525.35 KB
13
+ ESM ⚡️ Build success in 249ms
14
14
  DTS Build start
15
- DTS ⚡️ Build success in 7043ms
15
+ DTS ⚡️ Build success in 7482ms
16
16
  DTS dist/index.d.ts 85.30 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @poncho-ai/harness
2
2
 
3
+ ## 0.47.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#120](https://github.com/cesr/poncho-ai/pull/120) [`6cda4ab`](https://github.com/cesr/poncho-ai/commit/6cda4ab39865d89590f42927e281c5fb58cc99f4) Thanks [@cesr](https://github.com/cesr)! - harness: always inject the current hour into the system prompt
8
+
9
+ The dynamic system-prompt builder now emits
10
+ `Current UTC time (hour precision): Mon 2026-05-20T09Z` on every run,
11
+ not just when a `reminderStore` is configured. Knowing "what day is it"
12
+ is universally useful — drafting messages, computing relative dates,
13
+ deciding whether a stale memory still applies — and isn't specific to
14
+ reminder-firing logic.
15
+
16
+ Format also drops the zeroed-out minutes/seconds tail (`T09:00:00.000Z`
17
+ → `T09Z`) so the hour quantization is visible to the model rather than
18
+ hidden behind noise. The prompt-cache properties are unchanged: the
19
+ string is still hour-stable and lives in the dynamic prompt section, so
20
+ hourly rollovers don't bust the static cache breakpoint.
21
+
3
22
  ## 0.46.0
4
23
 
5
24
  ### Minor Changes
package/dist/index.js CHANGED
@@ -10233,13 +10233,12 @@ Code is wrapped in an async IIFE \u2014 use \`return\` to return a value to the
10233
10233
  ${skillContextWindow}${browserContext}${fsContext}${isolateContext}` : `${agentPrompt}${developmentContext}${browserContext}${fsContext}${isolateContext}`;
10234
10234
  const hourlyTime = (() => {
10235
10235
  const d = /* @__PURE__ */ new Date();
10236
- d.setUTCMinutes(0, 0, 0);
10237
10236
  const weekday = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][d.getUTCDay()];
10238
- return `${weekday} ${d.toISOString()}`;
10237
+ return `${weekday} ${d.toISOString().slice(0, 13)}Z`;
10239
10238
  })();
10240
- const timeContext = this.reminderStore ? `
10239
+ const timeContext = `
10241
10240
 
10242
- Current UTC time (hour precision): ${hourlyTime}` : "";
10241
+ Current UTC time (hour precision): ${hourlyTime}`;
10243
10242
  const dynamicPart = `${memoryContext}${todoContext}${timeContext}`;
10244
10243
  return { staticPart, dynamicPart };
10245
10244
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poncho-ai/harness",
3
- "version": "0.46.0",
3
+ "version": "0.47.0",
4
4
  "description": "Agent execution runtime - conversation loop, tool dispatch, streaming",
5
5
  "repository": {
6
6
  "type": "git",
package/src/harness.ts CHANGED
@@ -2233,16 +2233,17 @@ Code is wrapped in an async IIFE — use \`return\` to return a value to the too
2233
2233
  // Quantize to the hour so the system prompt is stable across runs
2234
2234
  // within the same hour. Including a per-millisecond timestamp would
2235
2235
  // invalidate the prompt cache on every run, since the system prompt
2236
- // is the first block the cache tries to match.
2236
+ // is the first block the cache tries to match. Format is
2237
+ // `Weekday YYYY-MM-DDTHHZ` — minutes/seconds dropped to make the
2238
+ // hour-quantization visible to the model rather than hidden behind
2239
+ // a zeroed-out tail. Always emitted: every agent needs to know
2240
+ // "what day is it" even without reminders configured.
2237
2241
  const hourlyTime = (() => {
2238
2242
  const d = new Date();
2239
- d.setUTCMinutes(0, 0, 0);
2240
2243
  const weekday = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][d.getUTCDay()];
2241
- return `${weekday} ${d.toISOString()}`;
2244
+ return `${weekday} ${d.toISOString().slice(0, 13)}Z`;
2242
2245
  })();
2243
- const timeContext = this.reminderStore
2244
- ? `\n\nCurrent UTC time (hour precision): ${hourlyTime}`
2245
- : "";
2246
+ const timeContext = `\n\nCurrent UTC time (hour precision): ${hourlyTime}`;
2246
2247
  const dynamicPart = `${memoryContext}${todoContext}${timeContext}`;
2247
2248
  return { staticPart, dynamicPart };
2248
2249
  };