patchwork-os 1.2.0-beta.2.canary.743 → 1.2.0-beta.2.canary.744

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "patchwork-os",
3
- "version": "1.2.0-beta.2.canary.743",
3
+ "version": "1.2.0-beta.2.canary.744",
4
4
  "description": "Your personal AI runtime, local-first. Patchwork OS gives any AI model a consistent set of tools, YAML recipes, a delegation policy with approval queue, and a durable trace memory — all on your machine, all under your policy.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -7,6 +7,24 @@ description: Every morning at 08:00, summarize yesterday's commits + today's cal
7
7
  allowWrites:
8
8
  - file.write
9
9
 
10
+ # Run-level completion contract. Every step can report ok and the run can still
11
+ # finish `done` having produced no `brief` — an agent that narrates instead of
12
+ # answering, or a driver that returns empty, leaves the key unset and the step
13
+ # after it writes a heading with nothing under it. That is this recipe's real
14
+ # failure mode and it is silent.
15
+ #
16
+ # Checked AFTER the last step; it does NOT change the run's status. A violation
17
+ # is recorded as `assertionFailures` on the run and counted by `patchwork halts`
18
+ # under `completion contract failed`. So the run still writes whatever it
19
+ # produced — this reports, it does not roll back.
20
+ #
21
+ # Asserts only the daily status it exists to write: the upstream fetch steps are
22
+ # allowed to come back empty (no commits today, an empty calendar), and turning
23
+ # a quiet day into a halt would be a contract that cries wolf.
24
+ expect:
25
+ outputs:
26
+ - brief
27
+
10
28
  trigger:
11
29
  type: cron
12
30
  at: "0 8 * * *"
@@ -8,6 +8,24 @@ allowWrites:
8
8
  - file.write
9
9
  - slack.post_message
10
10
 
11
+ # Run-level completion contract. Every step can report ok and the run can still
12
+ # finish `done` having produced no `brief` — an agent that narrates instead of
13
+ # answering, or a driver that returns empty, leaves the key unset and the step
14
+ # after it writes a heading with nothing under it. That is this recipe's real
15
+ # failure mode and it is silent.
16
+ #
17
+ # Checked AFTER the last step; it does NOT change the run's status. A violation
18
+ # is recorded as `assertionFailures` on the run and counted by `patchwork halts`
19
+ # under `completion contract failed`. So the run still writes whatever it
20
+ # produced — this reports, it does not roll back.
21
+ #
22
+ # Asserts only the brief it posts to Slack: the upstream fetch steps are
23
+ # allowed to come back empty (no commits today, an empty calendar), and turning
24
+ # a quiet day into a halt would be a contract that cries wolf.
25
+ expect:
26
+ outputs:
27
+ - brief
28
+
11
29
  trigger:
12
30
  type: cron
13
31
  at: "0 8 * * 1-5"
@@ -6,6 +6,24 @@ name: release-notes
6
6
  description: After a commit lands, draft a changelog entry from the new commits into the inbox.
7
7
  allowWrites:
8
8
  - file.write
9
+ # Run-level completion contract. Every step can report ok and the run can still
10
+ # finish `done` having produced no `notes` — an agent that narrates instead of
11
+ # answering, or a driver that returns empty, leaves the key unset and the step
12
+ # after it writes a heading with nothing under it. That is this recipe's real
13
+ # failure mode and it is silent.
14
+ #
15
+ # Checked AFTER the last step; it does NOT change the run's status. A violation
16
+ # is recorded as `assertionFailures` on the run and counted by `patchwork halts`
17
+ # under `completion contract failed`. So the run still writes whatever it
18
+ # produced — this reports, it does not roll back.
19
+ #
20
+ # Asserts only the release notes it drafts: the upstream fetch steps are
21
+ # allowed to come back empty (no commits today, an empty calendar), and turning
22
+ # a quiet day into a halt would be a contract that cries wolf.
23
+ expect:
24
+ outputs:
25
+ - notes
26
+
9
27
  trigger:
10
28
  type: git_hook
11
29
  event: post-commit