pi-daddy 0.18.1 → 0.20.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.
Files changed (218) hide show
  1. package/CHANGELOG.md +201 -0
  2. package/README.md +136 -23
  3. package/contracts/ledger/v2/README.md +59 -0
  4. package/contracts/ledger/v2/fixtures/capability-decision.json +95 -0
  5. package/contracts/ledger/v2/fixtures/check-receipt.json +40 -0
  6. package/contracts/ledger/v2/fixtures/child-lifecycle.json +42 -0
  7. package/contracts/ledger/v2/fixtures/workspace-lease.json +41 -0
  8. package/contracts/ledger/v2/ledger-event.schema.json +633 -0
  9. package/contracts/ledger/v3/README.md +36 -0
  10. package/contracts/ledger/v3/fixtures/capability-decision.json +98 -0
  11. package/contracts/ledger/v3/fixtures/check-receipt.json +42 -0
  12. package/contracts/ledger/v3/fixtures/child-lifecycle.json +45 -0
  13. package/contracts/ledger/v3/fixtures/workflow-fact.json +41 -0
  14. package/contracts/ledger/v3/fixtures/workspace-lease.json +43 -0
  15. package/contracts/ledger/v3/ledger-event.schema.json +930 -0
  16. package/dist/approval-prompt.d.ts +2 -1
  17. package/dist/approval-prompt.d.ts.map +1 -1
  18. package/dist/approval-prompt.js +9 -0
  19. package/dist/approval-prompt.js.map +1 -1
  20. package/dist/approval.d.ts +4 -2
  21. package/dist/approval.d.ts.map +1 -1
  22. package/dist/approval.js +4 -0
  23. package/dist/approval.js.map +1 -1
  24. package/dist/capabilities.d.ts +90 -0
  25. package/dist/capabilities.d.ts.map +1 -1
  26. package/dist/capabilities.js +114 -3
  27. package/dist/capabilities.js.map +1 -1
  28. package/dist/catalog.d.ts +15 -1
  29. package/dist/catalog.d.ts.map +1 -1
  30. package/dist/catalog.js +54 -3
  31. package/dist/catalog.js.map +1 -1
  32. package/dist/check-runner.d.ts.map +1 -1
  33. package/dist/check-runner.js +19 -7
  34. package/dist/check-runner.js.map +1 -1
  35. package/dist/cli.d.ts.map +1 -1
  36. package/dist/cli.js +21 -1
  37. package/dist/cli.js.map +1 -1
  38. package/dist/correlation.d.ts.map +1 -1
  39. package/dist/correlation.js +10 -0
  40. package/dist/correlation.js.map +1 -1
  41. package/dist/dashboard-cli.d.ts +18 -0
  42. package/dist/dashboard-cli.d.ts.map +1 -0
  43. package/dist/dashboard-cli.js +154 -0
  44. package/dist/dashboard-cli.js.map +1 -0
  45. package/dist/dashboard-handshake.d.ts +37 -0
  46. package/dist/dashboard-handshake.d.ts.map +1 -0
  47. package/dist/dashboard-handshake.js +127 -0
  48. package/dist/dashboard-handshake.js.map +1 -0
  49. package/dist/dashboard-herdr.d.ts +54 -0
  50. package/dist/dashboard-herdr.d.ts.map +1 -0
  51. package/dist/dashboard-herdr.js +286 -0
  52. package/dist/dashboard-herdr.js.map +1 -0
  53. package/dist/dashboard-projection.d.ts +73 -0
  54. package/dist/dashboard-projection.d.ts.map +1 -0
  55. package/dist/dashboard-projection.js +294 -0
  56. package/dist/dashboard-projection.js.map +1 -0
  57. package/dist/dashboard-render.d.ts +10 -0
  58. package/dist/dashboard-render.d.ts.map +1 -0
  59. package/dist/dashboard-render.js +208 -0
  60. package/dist/dashboard-render.js.map +1 -0
  61. package/dist/definitions.d.ts.map +1 -1
  62. package/dist/definitions.js +7 -1
  63. package/dist/definitions.js.map +1 -1
  64. package/dist/delegate-types.d.ts +6 -2
  65. package/dist/delegate-types.d.ts.map +1 -1
  66. package/dist/delegate-types.js.map +1 -1
  67. package/dist/delegate.d.ts.map +1 -1
  68. package/dist/delegate.js +34 -4
  69. package/dist/delegate.js.map +1 -1
  70. package/dist/delegation-approval.d.ts.map +1 -1
  71. package/dist/delegation-approval.js +37 -12
  72. package/dist/delegation-approval.js.map +1 -1
  73. package/dist/execution-id.d.ts +6 -0
  74. package/dist/execution-id.d.ts.map +1 -0
  75. package/dist/execution-id.js +13 -0
  76. package/dist/execution-id.js.map +1 -0
  77. package/dist/executor.d.ts +2 -1
  78. package/dist/executor.d.ts.map +1 -1
  79. package/dist/executor.js +1 -0
  80. package/dist/executor.js.map +1 -1
  81. package/dist/grant-env.d.ts +2 -0
  82. package/dist/grant-env.d.ts.map +1 -1
  83. package/dist/grant-env.js +26 -3
  84. package/dist/grant-env.js.map +1 -1
  85. package/dist/index.d.ts +4 -1
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +4 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/init.d.ts +13 -1
  90. package/dist/init.d.ts.map +1 -1
  91. package/dist/init.js +35 -2
  92. package/dist/init.js.map +1 -1
  93. package/dist/lease-helper.d.ts +58 -0
  94. package/dist/lease-helper.d.ts.map +1 -0
  95. package/dist/lease-helper.js +94 -0
  96. package/dist/lease-helper.js.map +1 -0
  97. package/dist/lease-record.d.ts +15 -3
  98. package/dist/lease-record.d.ts.map +1 -1
  99. package/dist/lease-record.js.map +1 -1
  100. package/dist/ledger-events.d.ts +59 -15
  101. package/dist/ledger-events.d.ts.map +1 -1
  102. package/dist/ledger-events.js +67 -5
  103. package/dist/ledger-events.js.map +1 -1
  104. package/dist/ledger-identifiers.d.ts +7 -0
  105. package/dist/ledger-identifiers.d.ts.map +1 -0
  106. package/dist/ledger-identifiers.js +20 -0
  107. package/dist/ledger-identifiers.js.map +1 -0
  108. package/dist/ledger-report.d.ts +5 -2
  109. package/dist/ledger-report.d.ts.map +1 -1
  110. package/dist/ledger-report.js +38 -14
  111. package/dist/ledger-report.js.map +1 -1
  112. package/dist/ledger-v3-validation.d.ts +11 -0
  113. package/dist/ledger-v3-validation.d.ts.map +1 -0
  114. package/dist/ledger-v3-validation.js +265 -0
  115. package/dist/ledger-v3-validation.js.map +1 -0
  116. package/dist/ledger.d.ts +27 -9
  117. package/dist/ledger.d.ts.map +1 -1
  118. package/dist/ledger.js +38 -6
  119. package/dist/ledger.js.map +1 -1
  120. package/dist/propagation.d.ts +19 -1
  121. package/dist/propagation.d.ts.map +1 -1
  122. package/dist/propagation.js +23 -1
  123. package/dist/propagation.js.map +1 -1
  124. package/dist/refusals.d.ts +1 -1
  125. package/dist/refusals.d.ts.map +1 -1
  126. package/dist/refusals.js +1 -0
  127. package/dist/refusals.js.map +1 -1
  128. package/dist/resolve.d.ts +10 -0
  129. package/dist/resolve.d.ts.map +1 -1
  130. package/dist/resolve.js +27 -3
  131. package/dist/resolve.js.map +1 -1
  132. package/dist/routing-authority.d.ts +71 -0
  133. package/dist/routing-authority.d.ts.map +1 -0
  134. package/dist/routing-authority.js +100 -0
  135. package/dist/routing-authority.js.map +1 -0
  136. package/dist/run-child.d.ts +3 -1
  137. package/dist/run-child.d.ts.map +1 -1
  138. package/dist/run-child.js +30 -2
  139. package/dist/run-child.js.map +1 -1
  140. package/dist/run-herdr.d.ts +2 -0
  141. package/dist/run-herdr.d.ts.map +1 -1
  142. package/dist/run-herdr.js +8 -0
  143. package/dist/run-herdr.js.map +1 -1
  144. package/dist/skill-packages.d.ts +11 -5
  145. package/dist/skill-packages.d.ts.map +1 -1
  146. package/dist/skill-packages.js +20 -11
  147. package/dist/skill-packages.js.map +1 -1
  148. package/dist/workflow-fact-id.d.ts +4 -0
  149. package/dist/workflow-fact-id.d.ts.map +1 -0
  150. package/dist/workflow-fact-id.js +14 -0
  151. package/dist/workflow-fact-id.js.map +1 -0
  152. package/dist/workflow-facts.d.ts +34 -0
  153. package/dist/workflow-facts.d.ts.map +1 -0
  154. package/dist/workflow-facts.js +43 -0
  155. package/dist/workflow-facts.js.map +1 -0
  156. package/dist/workspace-lease.d.ts +15 -3
  157. package/dist/workspace-lease.d.ts.map +1 -1
  158. package/dist/workspace-lease.js +81 -24
  159. package/dist/workspace-lease.js.map +1 -1
  160. package/dist/workspace.d.ts +25 -0
  161. package/dist/workspace.d.ts.map +1 -1
  162. package/dist/workspace.js +142 -5
  163. package/dist/workspace.js.map +1 -1
  164. package/extensions/chain-ledger.ts +4 -0
  165. package/extensions/chain-plan.ts +98 -0
  166. package/extensions/delegate-chain.ts +63 -122
  167. package/extensions/delegation-ledger.ts +60 -0
  168. package/extensions/delegation.ts +20 -14
  169. package/extensions/execute-child.ts +85 -21
  170. package/extensions/execution-occurrence.ts +20 -0
  171. package/extensions/grants-command.ts +33 -4
  172. package/extensions/grants.ts +50 -1
  173. package/extensions/init-command.ts +33 -2
  174. package/extensions/run-delegation.ts +36 -56
  175. package/extensions/session-report.ts +13 -20
  176. package/extensions/session.ts +16 -3
  177. package/extensions/workspace-runtime.ts +44 -4
  178. package/herdr-plugin/herdr-plugin.toml +18 -0
  179. package/package.json +22 -5
  180. package/src/approval-prompt.ts +2 -1
  181. package/src/approval.ts +4 -2
  182. package/src/capabilities.ts +120 -4
  183. package/src/catalog.ts +62 -4
  184. package/src/check-runner.ts +24 -8
  185. package/src/cli.ts +24 -1
  186. package/src/correlation.ts +11 -0
  187. package/src/dashboard-cli.ts +171 -0
  188. package/src/dashboard-handshake.ts +185 -0
  189. package/src/dashboard-herdr.ts +355 -0
  190. package/src/dashboard-projection.ts +390 -0
  191. package/src/dashboard-render.ts +254 -0
  192. package/src/definitions.ts +7 -1
  193. package/src/delegate-types.ts +6 -2
  194. package/src/delegate.ts +43 -4
  195. package/src/delegation-approval.ts +37 -12
  196. package/src/execution-id.ts +18 -0
  197. package/src/executor.ts +2 -1
  198. package/src/grant-env.ts +39 -7
  199. package/src/index.ts +26 -0
  200. package/src/init.ts +40 -2
  201. package/src/lease-helper.ts +97 -0
  202. package/src/lease-record.ts +15 -3
  203. package/src/ledger-events.ts +116 -28
  204. package/src/ledger-identifiers.ts +21 -0
  205. package/src/ledger-report.ts +40 -19
  206. package/src/ledger-v3-validation.ts +266 -0
  207. package/src/ledger.ts +75 -12
  208. package/src/propagation.ts +24 -1
  209. package/src/refusals.ts +1 -0
  210. package/src/resolve.ts +29 -3
  211. package/src/routing-authority.ts +121 -0
  212. package/src/run-child.ts +35 -3
  213. package/src/run-herdr.ts +9 -0
  214. package/src/skill-packages.ts +20 -13
  215. package/src/workflow-fact-id.ts +16 -0
  216. package/src/workflow-facts.ts +65 -0
  217. package/src/workspace-lease.ts +84 -24
  218. package/src/workspace.ts +179 -6
@@ -0,0 +1,98 @@
1
+ {
2
+ "ledgerVersion": 3,
3
+ "event": "capability_decision",
4
+ "executionId": "exec:00000000-0000-4000-8000-000000000001",
5
+ "parentExecutionId": null,
6
+ "ts": "2026-08-20T12:00:01.000Z",
7
+ "parentId": "d0",
8
+ "childId": "d0.1",
9
+ "depth": 1,
10
+ "agentType": "build",
11
+ "executor": "process",
12
+ "taskFrom": "d0.0",
13
+ "taskFromExecutionId": "exec:00000000-0000-4000-8000-000000000000",
14
+ "taskDigest": "9999999999999999999999999999999999999999999999999999999999999999",
15
+ "correlation": {
16
+ "schema_version": "1.0",
17
+ "run_id": "run-contract-001",
18
+ "task_id": "task-contract-001",
19
+ "workspace_id": "workspace-contract",
20
+ "context_id": "context-contract",
21
+ "phase": "verify",
22
+ "assurance": "critical",
23
+ "assurance_effective": "critical",
24
+ "policy_label": "policy-contract",
25
+ "assurance_source": "policy",
26
+ "assurance_scope": {
27
+ "kind": "changed-files",
28
+ "paths": [
29
+ "src/**"
30
+ ],
31
+ "include_untracked": true
32
+ },
33
+ "activated_at": "2026-08-20T12:00:00.000Z",
34
+ "plan_digest": "1111111111111111111111111111111111111111111111111111111111111111",
35
+ "definition_digest": "2222222222222222222222222222222222222222222222222222222222222222",
36
+ "task_digest": "3333333333333333333333333333333333333333333333333333333333333333",
37
+ "base_sha": "4444444444444444444444444444444444444444",
38
+ "head_sha": "5555555555555555555555555555555555555555",
39
+ "tree_sha": "6666666666666666666666666666666666666666",
40
+ "event_seq": 21,
41
+ "last_change_seq": 18,
42
+ "last_authority_seq": 20,
43
+ "check_receipt_id": "7777777777777777777777777777777777777777777777777777777777777777"
44
+ },
45
+ "refusal": {
46
+ "code": "WORKSPACE_WRITE_CONFLICT",
47
+ "message": "workspace-contract already has a governed writer",
48
+ "details": {
49
+ "workspace_id": "workspace-contract",
50
+ "retryable": true,
51
+ "holder_depth": 1
52
+ }
53
+ },
54
+ "requested": [
55
+ "tool:bash",
56
+ "tool:read"
57
+ ],
58
+ "parentGrant": [
59
+ "agent:build",
60
+ "tool:bash",
61
+ "tool:read"
62
+ ],
63
+ "effective": [
64
+ "tool:bash",
65
+ "tool:read"
66
+ ],
67
+ "denied": [],
68
+ "clipped": [],
69
+ "gatedBlocked": [],
70
+ "blocked": true,
71
+ "reason": "workspace-contract already has a governed writer",
72
+ "approved": [
73
+ "tool:bash",
74
+ "tool:read"
75
+ ],
76
+ "approvalSources": {
77
+ "tool:bash": "persisted",
78
+ "tool:read": "prompt"
79
+ },
80
+ "approvalScopes": {
81
+ "tool:bash": "always",
82
+ "tool:read": "once"
83
+ },
84
+ "approvalExpiresAt": {
85
+ "tool:bash": "2026-09-19T12:00:00.000Z"
86
+ },
87
+ "approvalUses": {
88
+ "tool:read": {
89
+ "max": 1,
90
+ "remaining": 0
91
+ }
92
+ },
93
+ "definitionDigest": {
94
+ "name": "build",
95
+ "source": "/operator/skills/build/SKILL.md",
96
+ "sha256": "8888888888888888888888888888888888888888888888888888888888888888"
97
+ }
98
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "ledgerVersion": 3,
3
+ "event": "check_receipt",
4
+ "ts": "2026-08-20T12:00:04.000Z",
5
+ "executionId": "exec:00000000-0000-4000-8000-000000000002",
6
+ "parentExecutionId": null,
7
+ "childId": "check:spec-lint:00000000-0000-4000-8000-000000000000",
8
+ "receiptId": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
9
+ "workspaceId": "workspace-contract",
10
+ "checkId": "spec-lint",
11
+ "treeSha": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
12
+ "correlation": {
13
+ "schema_version": "1.0",
14
+ "run_id": "run-contract-001",
15
+ "task_id": "task-contract-001",
16
+ "workspace_id": "workspace-contract",
17
+ "context_id": "context-contract",
18
+ "phase": "verify",
19
+ "assurance": "critical",
20
+ "assurance_effective": "critical",
21
+ "policy_label": "policy-contract",
22
+ "assurance_source": "policy",
23
+ "assurance_scope": {
24
+ "kind": "changed-files",
25
+ "paths": [
26
+ "src/**"
27
+ ],
28
+ "include_untracked": true
29
+ },
30
+ "activated_at": "2026-08-20T12:00:00.000Z",
31
+ "plan_digest": "1111111111111111111111111111111111111111111111111111111111111111",
32
+ "definition_digest": "2222222222222222222222222222222222222222222222222222222222222222",
33
+ "task_digest": "3333333333333333333333333333333333333333333333333333333333333333",
34
+ "base_sha": "4444444444444444444444444444444444444444",
35
+ "head_sha": "5555555555555555555555555555555555555555",
36
+ "tree_sha": "6666666666666666666666666666666666666666",
37
+ "event_seq": 21,
38
+ "last_change_seq": 18,
39
+ "last_authority_seq": 20,
40
+ "check_receipt_id": "7777777777777777777777777777777777777777777777777777777777777777"
41
+ }
42
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "ledgerVersion": 3,
3
+ "event": "child_lifecycle",
4
+ "ts": "2026-08-20T12:00:03.000Z",
5
+ "executionId": "exec:00000000-0000-4000-8000-000000000001",
6
+ "parentExecutionId": null,
7
+ "childId": "d0.1",
8
+ "state": "failed",
9
+ "executor": "process",
10
+ "deadlineAt": "2026-08-20T12:10:00.000Z",
11
+ "exitCode": null,
12
+ "signal": null,
13
+ "aborted": true,
14
+ "reason": "child did not start",
15
+ "correlation": {
16
+ "schema_version": "1.0",
17
+ "run_id": "run-contract-001",
18
+ "task_id": "task-contract-001",
19
+ "workspace_id": "workspace-contract",
20
+ "context_id": "context-contract",
21
+ "phase": "verify",
22
+ "assurance": "critical",
23
+ "assurance_effective": "critical",
24
+ "policy_label": "policy-contract",
25
+ "assurance_source": "policy",
26
+ "assurance_scope": {
27
+ "kind": "changed-files",
28
+ "paths": [
29
+ "src/**"
30
+ ],
31
+ "include_untracked": true
32
+ },
33
+ "activated_at": "2026-08-20T12:00:00.000Z",
34
+ "plan_digest": "1111111111111111111111111111111111111111111111111111111111111111",
35
+ "definition_digest": "2222222222222222222222222222222222222222222222222222222222222222",
36
+ "task_digest": "3333333333333333333333333333333333333333333333333333333333333333",
37
+ "base_sha": "4444444444444444444444444444444444444444",
38
+ "head_sha": "5555555555555555555555555555555555555555",
39
+ "tree_sha": "6666666666666666666666666666666666666666",
40
+ "event_seq": 21,
41
+ "last_change_seq": 18,
42
+ "last_authority_seq": 20,
43
+ "check_receipt_id": "7777777777777777777777777777777777777777777777777777777777777777"
44
+ }
45
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "ledgerVersion": 3,
3
+ "event": "workflow_fact",
4
+ "ts": "2026-08-20T12:00:05.000Z",
5
+ "factId": "fact:00000000-0000-4000-8000-000000000003",
6
+ "source": "principal-pi-skills",
7
+ "provenance": "controller_validated",
8
+ "kind": "transition",
9
+ "subject": "build-to-review",
10
+ "state": "completed",
11
+ "correlation": {
12
+ "schema_version": "1.0",
13
+ "run_id": "run-contract-001",
14
+ "task_id": "task-contract-001",
15
+ "workspace_id": "workspace-contract",
16
+ "context_id": "context-contract",
17
+ "phase": "verify",
18
+ "assurance": "critical",
19
+ "assurance_effective": "critical",
20
+ "policy_label": "policy-contract",
21
+ "assurance_source": "policy",
22
+ "assurance_scope": {
23
+ "kind": "changed-files",
24
+ "paths": [
25
+ "src/**"
26
+ ],
27
+ "include_untracked": true
28
+ },
29
+ "activated_at": "2026-08-20T12:00:00.000Z",
30
+ "plan_digest": "1111111111111111111111111111111111111111111111111111111111111111",
31
+ "definition_digest": "2222222222222222222222222222222222222222222222222222222222222222",
32
+ "task_digest": "3333333333333333333333333333333333333333333333333333333333333333",
33
+ "base_sha": "4444444444444444444444444444444444444444",
34
+ "head_sha": "5555555555555555555555555555555555555555",
35
+ "tree_sha": "6666666666666666666666666666666666666666",
36
+ "event_seq": 21,
37
+ "last_change_seq": 18,
38
+ "last_authority_seq": 20,
39
+ "check_receipt_id": "7777777777777777777777777777777777777777777777777777777777777777"
40
+ }
41
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "ledgerVersion": 3,
3
+ "event": "workspace_lease",
4
+ "ts": "2026-08-20T12:00:02.000Z",
5
+ "executionId": "exec:00000000-0000-4000-8000-000000000001",
6
+ "parentExecutionId": null,
7
+ "childId": "d0.1",
8
+ "workspaceId": "workspace-contract",
9
+ "root": "/worktrees/contract",
10
+ "access": "write",
11
+ "outcome": "acquired",
12
+ "recovered": "unknown",
13
+ "correlation": {
14
+ "schema_version": "1.0",
15
+ "run_id": "run-contract-001",
16
+ "task_id": "task-contract-001",
17
+ "workspace_id": "workspace-contract",
18
+ "context_id": "context-contract",
19
+ "phase": "verify",
20
+ "assurance": "critical",
21
+ "assurance_effective": "critical",
22
+ "policy_label": "policy-contract",
23
+ "assurance_source": "policy",
24
+ "assurance_scope": {
25
+ "kind": "changed-files",
26
+ "paths": [
27
+ "src/**"
28
+ ],
29
+ "include_untracked": true
30
+ },
31
+ "activated_at": "2026-08-20T12:00:00.000Z",
32
+ "plan_digest": "1111111111111111111111111111111111111111111111111111111111111111",
33
+ "definition_digest": "2222222222222222222222222222222222222222222222222222222222222222",
34
+ "task_digest": "3333333333333333333333333333333333333333333333333333333333333333",
35
+ "base_sha": "4444444444444444444444444444444444444444",
36
+ "head_sha": "5555555555555555555555555555555555555555",
37
+ "tree_sha": "6666666666666666666666666666666666666666",
38
+ "event_seq": 21,
39
+ "last_change_seq": 18,
40
+ "last_authority_seq": 20,
41
+ "check_receipt_id": "7777777777777777777777777777777777777777777777777777777777777777"
42
+ }
43
+ }