@kody-ade/kody-engine 0.4.274 → 0.4.275

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin/kody.js CHANGED
@@ -15,7 +15,7 @@ var init_package = __esm({
15
15
  "package.json"() {
16
16
  package_default = {
17
17
  name: "@kody-ade/kody-engine",
18
- version: "0.4.274",
18
+ version: "0.4.275",
19
19
  description: "kody \u2014 autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
20
20
  license: "MIT",
21
21
  type: "module",
@@ -8808,7 +8808,7 @@ function refreshGoalDashboardReport(input) {
8808
8808
  if (!REPORT_SLUG_RE.test(input.goalId)) {
8809
8809
  throw new Error(`goal report: invalid goal id "${input.goalId}"`);
8810
8810
  }
8811
- const filePath = `reports/${input.goalId}.md`;
8811
+ const filePath = goalDashboardReportRunPath(input.goalId);
8812
8812
  const body = goalReportBody(
8813
8813
  input.goalId,
8814
8814
  input.state,
@@ -8816,17 +8816,15 @@ function refreshGoalDashboardReport(input) {
8816
8816
  latestGoalRunLogEvent(input.data, input.goalId),
8817
8817
  evidenceItems
8818
8818
  );
8819
- const current = readStateText(input.config, input.cwd, filePath);
8820
- if (current?.content === body) {
8821
- const report2 = { slug: input.goalId, path: current.path, changed: false };
8822
- recordGoalReport(input.data, report2);
8823
- return report2;
8824
- }
8825
- upsertStateText(input.config, input.cwd, filePath, body, `chore(reports): refresh ${input.goalId}`);
8819
+ writeStateText(input.config, input.cwd, filePath, body, `chore(reports): add ${input.goalId} run`);
8826
8820
  const report = { slug: input.goalId, path: filePath, changed: true };
8827
8821
  recordGoalReport(input.data, report);
8828
8822
  return report;
8829
8823
  }
8824
+ function goalDashboardReportRunPath(goalId, now = /* @__PURE__ */ new Date()) {
8825
+ const runId = now.toISOString().replace(/\.\d{3}Z$/, "Z").replace(/:/g, "-");
8826
+ return `reports/${goalId}/runs/${runId}.md`;
8827
+ }
8830
8828
  function capabilityEvidenceOutput(evidence) {
8831
8829
  return {
8832
8830
  kind: "capability-evidence",
@@ -498,6 +498,6 @@ export interface Job {
498
498
  flavor: JobFlavor
499
499
  /** Manual force-run (bypass cadence) for a scheduled job. */
500
500
  force?: boolean
501
- /** Ask the owning goal/loop to refresh reports/<goal-or-loop>.md after its persisted decision. */
501
+ /** Ask the owning goal/loop to write a report run after its persisted decision. */
502
502
  saveReport?: boolean
503
503
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kody-ade/kody-engine",
3
- "version": "0.4.274",
3
+ "version": "0.4.275",
4
4
  "description": "kody — autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
5
5
  "license": "MIT",
6
6
  "type": "module",