pi-daddy 0.24.0 → 0.25.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 (67) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +11 -3
  3. package/contracts/ledger/v4/README.md +1 -1
  4. package/dist/daily-dashboard-host.d.ts +26 -2
  5. package/dist/daily-dashboard-host.d.ts.map +1 -1
  6. package/dist/daily-dashboard-host.js +78 -8
  7. package/dist/daily-dashboard-host.js.map +1 -1
  8. package/dist/dashboard-handshake.d.ts.map +1 -1
  9. package/dist/dashboard-handshake.js +13 -4
  10. package/dist/dashboard-handshake.js.map +1 -1
  11. package/dist/dashboard-harness.d.ts +1 -1
  12. package/dist/dashboard-harness.js +3 -3
  13. package/dist/dashboard-harness.js.map +1 -1
  14. package/dist/dashboard-herdr.d.ts +1 -0
  15. package/dist/dashboard-herdr.d.ts.map +1 -1
  16. package/dist/dashboard-herdr.js +10 -8
  17. package/dist/dashboard-herdr.js.map +1 -1
  18. package/dist/dashboard-host-contract.d.ts +10 -1
  19. package/dist/dashboard-host-contract.d.ts.map +1 -1
  20. package/dist/dashboard-host-contract.js +1 -1
  21. package/dist/dashboard-host-contract.js.map +1 -1
  22. package/dist/dashboard-host.d.ts +8 -0
  23. package/dist/dashboard-host.d.ts.map +1 -1
  24. package/dist/dashboard-host.js +24 -6
  25. package/dist/dashboard-host.js.map +1 -1
  26. package/dist/dashboard-observation.d.ts.map +1 -1
  27. package/dist/dashboard-observation.js +1 -0
  28. package/dist/dashboard-observation.js.map +1 -1
  29. package/dist/experiment.d.ts.map +1 -1
  30. package/dist/experiment.js +9 -4
  31. package/dist/experiment.js.map +1 -1
  32. package/dist/index.d.ts +3 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +3 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/intent-application.d.ts.map +1 -1
  37. package/dist/intent-application.js +3 -2
  38. package/dist/intent-application.js.map +1 -1
  39. package/dist/measured-order.d.ts +249 -0
  40. package/dist/measured-order.d.ts.map +1 -0
  41. package/dist/measured-order.js +251 -0
  42. package/dist/measured-order.js.map +1 -0
  43. package/dist/measured-session.d.ts +97 -0
  44. package/dist/measured-session.d.ts.map +1 -0
  45. package/dist/measured-session.js +134 -0
  46. package/dist/measured-session.js.map +1 -0
  47. package/dist/work-command.d.ts +2 -0
  48. package/dist/work-command.d.ts.map +1 -1
  49. package/dist/work-command.js +15 -2
  50. package/dist/work-command.js.map +1 -1
  51. package/extensions/daily-dashboard-session.ts +9 -8
  52. package/extensions/grants-command.ts +2 -0
  53. package/extensions/grants.ts +1 -1
  54. package/package.json +13 -1
  55. package/src/daily-dashboard-host.ts +49 -10
  56. package/src/dashboard-handshake.ts +14 -5
  57. package/src/dashboard-harness.ts +3 -3
  58. package/src/dashboard-herdr.ts +12 -9
  59. package/src/dashboard-host-contract.ts +5 -2
  60. package/src/dashboard-host.ts +14 -9
  61. package/src/dashboard-observation.ts +1 -0
  62. package/src/experiment.ts +8 -3
  63. package/src/index.ts +17 -0
  64. package/src/intent-application.ts +3 -2
  65. package/src/measured-order.ts +67 -0
  66. package/src/measured-session.ts +70 -0
  67. package/src/work-command.ts +8 -2
package/CHANGELOG.md CHANGED
@@ -12,6 +12,16 @@ the record of how the package got here and are worth keeping; they are not worth
12
12
  > the record of how the package arrived at what it does, and because the reasoning behind each one is
13
13
  > usually the clearest statement of why the current behaviour is what it is.
14
14
 
15
+ ## 0.25.0 — practical daily steering and measured orders (2026-09-12)
16
+
17
+ - Add protocol-safe dashboard relink, exact active-attempt cancellation and durable measured-session spawn acknowledgement. Unknown/protocol-incompatible plugins still fail closed.
18
+ - Add labelled daily priority, recorded scope-successor and same-scope alternative actions through existing intent authority/CAS. Scope changes atomically rebind persisted and current-session declared work before ordinary dispatch resumes; active ordinary work suppresses steering actions.
19
+ - Add explicit two-minute closing presence and safe case-card preparation. Missing trust qualification spends zero of the durable five-card ceiling; preparation is not delivery until visibly acknowledged.
20
+ - Add a separate opt-in measured Sol/Terra SDK route with in-memory/no-tool bounds, observed identity, Pi Usage, clean-stop checks and explicit unknown state for launched nonsettling attempts. Pi catalog cost is not subscription billing and ordinary print-child Usage remains unavailable.
21
+ - Add package-exported bounded measured DAG orders with exact and deterministic free-form output qualification, complete sealed predecessor bytes/hash, original-owner unknown accounting, exact acknowledgement before declared recovery and inode-pinned append journals.
22
+ - Export the production daily host through the package root and `pi-daddy/daily-dashboard-host`; retain the exact skill-harness 0.15.0 bridge pin and learning-lifecycle navigation.
23
+ - Prior real NWS Sol/Terra outputs remain direct SDK comparison evidence. Offline contract validation is a no-model replay, not a new packaged measured-order occurrence. Human trust calibration, quality choice, configured adoption and later outcomes remain separate.
24
+
15
25
  ## 0.24.0 — declared daily work and concurrent variants (2026-09-11)
16
26
 
17
27
  - Add `pi-daddy work add --id <id> --outcome <text>`: retain a digest-only selected obligation, reject changed redelivery and unsupported destinations, and join ordinary governed attempts without storing outcome prose. Runtime completion remains distinct from acceptance.
package/README.md CHANGED
@@ -168,8 +168,9 @@ delegate_all({ children: [ {…}, {…}, {…} ] }) // several
168
168
  - **Fan-out stays bounded and waits for all by default.** At most 8 children per call, and the subtree budget
169
169
  bounds the whole tree. Every child uses the same plan-gate-audit path. The opt-in
170
170
  `completion:"primary", primary:N` form returns when that one-based child settles while the original
171
- session retains bounded role/outcome accounting for its shadows; `/grants variants` displays it. Shadow
172
- failure or later cancellation cannot replace/delay the primary result. This is not detached job recovery:
171
+ session retains bounded role/outcome accounting for its shadows; `/grants variants` displays it and explicitly
172
+ labels child provider usage unavailable because the print transport retains no Pi `Usage` event. Fan-out,
173
+ output bytes and wall time remain controller-bounded. Shadow failure or later cancellation cannot replace/delay the primary result. This is not detached job recovery:
173
174
  process exit ends ownership, and there is no retry, acceptance, winner selection or result-text store.
174
175
  - **One child can be refused while its siblings succeed**, and every outcome is reported. A fan-out that
175
176
  hid its refusals would let an orchestrator summarise four reviews when only three happened.
@@ -236,9 +237,16 @@ depth 2 · 1 active
236
237
 
237
238
  The plugin ships inside pi-daddy and is linked globally only after an explicit **Install and open** choice.
238
239
  Literal **Not now** and **Never ask** choices are persisted; dismissing or losing the dialog stores nothing.
240
+ If the same plugin ID points at another package root after an isolated install or upgrade, startup offers an
241
+ explicit **Relink and open** repair. **Not now** or dismissal leaves both the existing link and prompt preference
242
+ unchanged; protocol mismatches are not replaced by guesswork.
239
243
  A connected host can publish exact pre-authorized actions as short commands such as `pause-new-dispatch` or `defer-weekly`; the dashboard lists their human labels and accepts the key followed by Enter. The host resolves the key to its current CAS-bound request, so a person does not type JSON or tokens. Unknown/stale keys refuse before effects; raw JSON remains compatibility-only.
240
244
 
241
- With pi-daddy 0.24.0 and skill-harness 0.14.0 loaded, declare work, reload, then run `/grants host <fresh-id>`. This creates one process-owned daily host, captures the current work/facts sources, publishes its private socket to `/grants dashboard`, and lists `pause-new-dispatch` or `resume-dispatch` plus `refresh-current-work`. Refresh is a deliberate action that atomically mirrors the current declared ledger and advances the existing source checkpoint; periodic dashboard redraw remains read-only. Pausing blocks only new governed ordinary children; a child already running keeps its original caller/result. `/grants host stop` closes the host and never cancels a child. Restart uses a fresh id; no PID, JSON/CAS envelope or prior controller is recovered.
245
+ With pi-daddy 0.25.0 and skill-harness 0.15.0 loaded, declare work, reload, then run `/grants host <fresh-id>`. Library hosts can use the explicit `pi-daddy/daily-dashboard-host` export. This creates one process-owned daily host, captures the current work/facts sources, publishes its private socket to `/grants dashboard`, and lists `pause-new-dispatch` or `resume-dispatch` plus `refresh-current-work`. Compatible recorded P01 snapshots and selected obligations also become labelled scope-successor, alternative, and put-first actions; choosing one still passes exact intent authority and host/selection/tip CAS, then atomically rebinds both persisted and current-session declared work before new ordinary dispatch is released. Refresh is a deliberate action that atomically mirrors the current declared ledger and advances the existing source checkpoint; periodic dashboard redraw remains read-only. Pausing blocks only new governed ordinary children; a child already running keeps its original caller/result. An active retained child also gets an exact `cancel-exec-…` action (up to the ordinary eight-child width); choosing it requests abort through the original handle without cancelling siblings or implying acceptance/rejection. `/grants host closing` declares two minutes of explicit closing presence; only a paused, reservation-free, ordinary-quiescent host offers case-card preparation, and absent trust qualification defers without spending the five-card budget. `/grants host stop` closes the host and never cancels a child. Restart uses a fresh id; no PID, user-entered JSON/CAS envelope or prior controller is recovered.
246
+
247
+ The separate `pi-daddy/measured-order` export composes no-tool measured Sol/Terra sessions into a bounded dependent order. Every retry and deterministic output contract is predeclared; bounded JSON projection contracts admit free-form prose without pre-knowing the whole artifact hash, and dependent prompts consume the actual retained predecessor output with its observed seal. A reopened controller treats another owner's unfinished claim as unknown and cannot replay it; an independently authorized exact acknowledgement can consume that schedule position, but never refunds or settles the original resource reservation. See ADR-0072.
248
+
249
+ The final candidate requirement/code/evidence index and exact unresolved human actions are in [`docs/FINAL-READINESS-INDEX.md`](../../docs/FINAL-READINESS-INDEX.md).
242
250
 
243
251
  `/grants dashboard` never installs silently and prints the exact manual command when the plugin is absent. It
244
252
  checks the bundled plugin root and protocol before suggesting that a disabled plugin be enabled. Panes and
@@ -1,7 +1,7 @@
1
1
  # pi-daddy work-v4 contract — candidate
2
2
 
3
3
  **Opt-in source candidate, not production acceptance integration.** At release preparation on 2026-09-11,
4
- the package version is staged as 0.24.0; consult npm and GitHub Releases for current publication status.
4
+ the package version is staged as 0.25.0; consult npm and GitHub Releases for current publication status.
5
5
  This directory declares the versioned package artifacts; their presence does not establish compiled exports,
6
6
  installed-package behavior, task acceptance or qualification.
7
7
  See [SPEC](../../../../../docs/SPEC.md#opt-in-work-v4-evidence-candidate) and
@@ -1,7 +1,18 @@
1
1
  import { type DashboardHostRequest } from "./dashboard-host.ts";
2
2
  import type { DashboardHarness } from "./dashboard-host-contract.ts";
3
- import type { DeclaredWorkState } from "./work-command.ts";
4
- import type { OrdinaryChildren } from "./ordinary-children.ts";
3
+ import { type DeclaredWorkState } from "./work-command.ts";
4
+ import { type OrdinaryChildren } from "./ordinary-children.ts";
5
+ import { type IntentPriority, type IntentSelection } from "./intent-control.ts";
6
+ import { type WorkRevisionEvent, type WorkSnapshotEvent } from "./work-ledger.ts";
7
+ export interface DailyIntentAction {
8
+ key: string;
9
+ label: string;
10
+ action: "revise-scope" | "reprioritize" | "select-alternative";
11
+ fromSelection: IntentSelection;
12
+ events: (WorkRevisionEvent | WorkSnapshotEvent)[];
13
+ selection: IntentSelection;
14
+ priorities: IntentPriority[];
15
+ }
5
16
  export interface DailyDashboardHostInput {
6
17
  id: string;
7
18
  cwd: string;
@@ -11,7 +22,18 @@ export interface DailyDashboardHostInput {
11
22
  ordinary: OrdinaryChildren;
12
23
  harness: DashboardHarness;
13
24
  author: string;
25
+ priorities?: IntentPriority[];
26
+ intentActions?: DailyIntentAction[];
27
+ presence?: () => {
28
+ present: boolean;
29
+ closing: boolean;
30
+ evidenceDigest: string;
31
+ expiresAt: number;
32
+ } | null;
33
+ onDeclaredWorkChanged?: (state: DeclaredWorkState) => void | Promise<void>;
14
34
  }
35
+ /** Recorded P01 snapshots become labelled proposals; choosing a label still traverses intent validation and exact host/CAS authority. */
36
+ export declare function discoverDailyIntentActions(text: string, selection: IntentSelection, priorities: readonly IntentPriority[]): DailyIntentAction[];
15
37
  /** One explicitly started, process-owned daily host. No authority, controller or prior host is recovered from disk. */
16
38
  export declare function startDailyDashboardHost(input: DailyDashboardHostInput): Promise<Readonly<{
17
39
  host: Readonly<{
@@ -25,6 +47,7 @@ export declare function startDailyDashboardHost(input: DailyDashboardHostInput):
25
47
  tip: string;
26
48
  source: unknown;
27
49
  controls: unknown;
50
+ learning: unknown;
28
51
  debrief: unknown;
29
52
  attention: {
30
53
  policyId: string;
@@ -55,6 +78,7 @@ export declare function startDailyDashboardHost(input: DailyDashboardHostInput):
55
78
  tip: string;
56
79
  source: unknown;
57
80
  controls: unknown;
81
+ learning: unknown;
58
82
  debrief: unknown;
59
83
  attention: {
60
84
  policyId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"daily-dashboard-host.d.ts","sourceRoot":"","sources":["../src/daily-dashboard-host.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+H,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7L,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,MAAM,WAAW,uBAAuB;IAAE,EAAE,EAAC,MAAM,CAAC;IAAA,GAAG,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,UAAU,CAAC,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,iBAAiB,CAAC;IAAA,QAAQ,EAAC,gBAAgB,CAAC;IAAA,OAAO,EAAC,gBAAgB,CAAC;IAAA,MAAM,EAAC,MAAM,CAAA;CAAC;AAI/L,uHAAuH;AACvH,wBAAsB,uBAAuB,CAAC,KAAK,EAAC,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8B1E"}
1
+ {"version":3,"file":"daily-dashboard-host.d.ts","sourceRoot":"","sources":["../src/daily-dashboard-host.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+H,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7L,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKrE,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAoD,KAAK,gBAAgB,EAAuB,MAAM,wBAAwB,CAAC;AAGtI,OAAO,EAAiD,KAAK,cAAc,EAAsB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnJ,OAAO,EAAuB,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGvG,MAAM,WAAW,iBAAiB;IAAE,GAAG,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,cAAc,GAAC,cAAc,GAAC,oBAAoB,CAAC;IAAA,aAAa,EAAC,eAAe,CAAC;IAAA,MAAM,EAAC,CAAC,iBAAiB,GAAC,iBAAiB,CAAC,EAAE,CAAC;IAAA,SAAS,EAAC,eAAe,CAAC;IAAA,UAAU,EAAC,cAAc,EAAE,CAAA;CAAC;AACzP,MAAM,WAAW,uBAAuB;IAAE,EAAE,EAAC,MAAM,CAAC;IAAA,GAAG,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,UAAU,CAAC,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,iBAAiB,CAAC;IAAA,QAAQ,EAAC,gBAAgB,CAAC;IAAA,OAAO,EAAC,gBAAgB,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAAA,UAAU,CAAC,EAAC,cAAc,EAAE,CAAC;IAAA,aAAa,CAAC,EAAC,iBAAiB,EAAE,CAAC;IAAA,QAAQ,CAAC,EAAC,MAAI;QAAC,OAAO,EAAC,OAAO,CAAC;QAAA,OAAO,EAAC,OAAO,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,SAAS,EAAC,MAAM,CAAA;KAAC,GAAC,IAAI,CAAC;IAAA,qBAAqB,CAAC,EAAC,CAAC,KAAK,EAAC,iBAAiB,KAAG,IAAI,GAAC,OAAO,CAAC,IAAI,CAAC,CAAA;CAAC;AAIha,yIAAyI;AACzI,wBAAgB,0BAA0B,CAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,eAAe,EAAC,UAAU,EAAC,SAAS,cAAc,EAAE,GAAE,iBAAiB,EAAE,CAazI;AAED,uHAAuH;AACvH,wBAAsB,uBAAuB,CAAC,KAAK,EAAC,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgD1E"}
@@ -3,12 +3,49 @@ import { mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
3
3
  import { isAbsolute, resolve, join } from "node:path";
4
4
  import { createDashboardHost, dashboardHostDigest, dashboardHostRequestDigest } from "./dashboard-host.js";
5
5
  import { loadedDashboardHarnessDigest } from "./dashboard-harness.js";
6
- import { createDispatchBudget, openResourceBudget, resourceBindingDigest } from "./resource-budget.js";
6
+ import { createIntentBudget, openResourceBudget, resourceBindingDigest } from "./resource-budget.js";
7
7
  import { dispatchRequestDigest } from "./dispatch-control.js";
8
8
  import { serveDashboardHost } from "./dashboard-host-transport.js";
9
+ import { rebindDeclaredWork } from "./work-command.js";
10
+ import { ordinaryCancellation, ordinaryCancellationDigest } from "./ordinary-children.js";
9
11
  import { dataDigest } from "./debrief-contract.js";
12
+ import { bindWorkIntent } from "./intent-application.js";
13
+ import { intentKey, intentRequest, intentRequestDigest } from "./intent-control.js";
14
+ import { parseWorkLedgerText } from "./work-ledger.js";
15
+ import { resolveWorkSnapshotText } from "./work-ledger-snapshot.js";
10
16
  const idPattern = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;
11
17
  const hash = (value) => createHash("sha256").update(value).digest("hex");
18
+ const same = (a, b) => intentKey(a) === intentKey(b);
19
+ /** Recorded P01 snapshots become labelled proposals; choosing a label still traverses intent validation and exact host/CAS authority. */
20
+ export function discoverDailyIntentActions(text, selection, priorities) {
21
+ const parsed = parseWorkLedgerText(text);
22
+ if (!parsed.complete || parsed.events.length > 512)
23
+ throw Error("bounded complete recorded proposal ledger required");
24
+ const label = (value) => value.length <= 80 ? value : `${value.slice(0, 67)}…${hash(value).slice(0, 12)}`;
25
+ const current = resolveWorkSnapshotText(text, selection);
26
+ if (current.scopeState !== "valid" || !current.scope || !current.snapshot)
27
+ throw Error("current declared work unavailable");
28
+ const actions = [];
29
+ for (const priority of priorities.slice(1)) {
30
+ const ordered = [priority, ...priorities.filter(x => !same(x.obligation, priority.obligation))].map((x, rank) => ({ ...x, rank }));
31
+ actions.push({ key: `priority-${hash(intentKey(priority.obligation)).slice(0, 12)}`, label: `Put ${label(priority.obligation.id)} first`, action: "reprioritize", fromSelection: selection, events: [], selection, priorities: ordered });
32
+ }
33
+ for (const event of parsed.events) {
34
+ if (event.event !== "work_snapshot")
35
+ continue;
36
+ const candidate = { snapshot: { id: event.payload.snapshot.snapshotId, digest: event.payload.snapshot.digest }, event: { eventId: event.eventId, digest: event.digest } };
37
+ if (same(candidate, selection))
38
+ continue;
39
+ const next = resolveWorkSnapshotText(text, candidate);
40
+ if (next.scopeState !== "valid" || !next.scope || !next.snapshot || next.snapshot.bindings.length > 32)
41
+ continue;
42
+ const action = next.scope.digest === current.scope.digest ? "select-alternative" : next.scope.predecessor && same(next.scope.predecessor, { kind: current.scope.kind, id: current.scope.id, revision: current.scope.revision, digest: current.scope.digest }) ? "revise-scope" : null;
43
+ if (!action)
44
+ continue;
45
+ actions.push({ key: `${action === "revise-scope" ? "scope" : "alternative"}-${hash(intentKey(candidate)).slice(0, 12)}`, label: `Select recorded ${action === "revise-scope" ? "scope" : "alternative"} ${label(event.payload.snapshot.snapshotId)}`, action, fromSelection: selection, events: [], selection: candidate, priorities: next.snapshot.bindings.map((b, rank) => ({ obligation: b.obligation, rank })) });
46
+ }
47
+ return actions.sort((a, b) => a.key.localeCompare(b.key)).slice(0, 8);
48
+ }
12
49
  /** One explicitly started, process-owned daily host. No authority, controller or prior host is recovered from disk. */
13
50
  export async function startDailyDashboardHost(input) {
14
51
  if (!idPattern.test(input.id) || !isAbsolute(input.cwd) || resolve(input.cwd) !== input.cwd || !isAbsolute(input.directory) || resolve(input.directory) !== input.directory || !input.author.trim() || input.author.length > 256)
@@ -22,7 +59,7 @@ export async function startDailyDashboardHost(input) {
22
59
  const archiveRoot = join(input.directory, "archive");
23
60
  await mkdir(archiveRoot, { mode: 0o700 });
24
61
  const reference = input.harness.retainArchiveSource(archiveRoot, { sourceId: `host-${input.id}-bootstrap`, parser: { id: "daily-host-bootstrap", version: "1" }, retention: "exact", bytes: Buffer.from("explicit daily host bootstrap") });
25
- const component = { kind: "detector", id: "retained-work", version: "1", population: `daily:${input.id}` };
62
+ const component = { kind: "detector", id: "coverage_gap", version: "work-signals-v1:declared-work-v1", population: `daily:${input.id}` };
26
63
  const trustInput = { archiveRoot, component, seed: hash(`daily-host\0${input.id}`), maxUnflagged: 0, cohort: [{ incidentId: "bootstrap", manifestId: reference.manifestId, flagged: true, split: "calibration" }], exposure: null };
27
64
  const trustPolicyId = input.harness.trustPolicyDigest(trustInput), trustDirectory = join(input.directory, "trust");
28
65
  input.harness.createTrustLifecycle(trustDirectory, trustInput, [trustPolicyId]);
@@ -40,11 +77,16 @@ export async function startDailyDashboardHost(input) {
40
77
  const policy = { version: "archive-policy-v2", id: `daily-${input.id}`, revision: "1", sourceRoot: input.directory, archiveRoot, maxBytes: 8 * 1024 * 1024, retention: "exact", expiresAt: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(), sources: [{ id: "work", path: workRelative, parser: { id: "pi-daddy-work-ledger", version: "4" }, contentPolicy: "manifest-only" }, { id: "facts", path: factsRelative, parser: { id: "pi-daddy-work-signal-facts", version: "1" }, contentPolicy: "manifest-only" }] };
41
78
  const policyPath = join(input.directory, "archive-policy.json"), policyBytes = JSON.stringify(policy);
42
79
  await writeFile(policyPath, policyBytes, { mode: 0o600, flag: "wx" });
43
- const authorityDigest = dataDigest({ kind: "daily-dashboard-host", id: input.id, cwd: input.cwd }), budget = await createDispatchBudget({ directory: join(input.directory, "budget"), authorityDigest, limits: { maxAttempts: 6, maxInputBytes: 65536, maxConcurrent: 3 } });
80
+ const authorityDigest = dataDigest({ kind: "daily-dashboard-host", id: input.id, cwd: input.cwd }), initialPriorities = input.priorities ?? [{ obligation: input.declared.obligation, rank: 0 }];
81
+ const workIntent = await bindWorkIntent({ path: input.declared.ledgerPath, grantLedgerPath: input.declared.grantLedgerPath, selection: input.declared.selectedSnapshot, priorities: initialPriorities });
82
+ const budget = await createIntentBudget({ directory: join(input.directory, "budget"), authorityDigest, limits: { maxAttempts: 6, maxInputBytes: 65536, maxConcurrent: 3 } }, workIntent);
44
83
  const config = { version: "producer-dashboard-host-v1", trustDirectory, trustPolicyId, archiveRoot, scope: `daily:${input.id}`, author: input.author, policyPath, policySha256: hash(policyBytes), sources: [{ id: "work", kind: "work" }, { id: "facts", kind: "facts" }], selection: input.declared.selectedSnapshot, cases: null, blind: null, budgetDigest: resourceBindingDigest(budget), experimentDigest: null, harnessArtifactDigest: harnessDigest, ordinaryDigest: input.ordinary.bindingDigest };
45
- const requestDigests = new Set(), dispatchDigests = new Set();
46
- let host, factsResultManifest = null;
47
- const authority = () => ({ hostDigests: [dashboardHostDigest(config)], requestDigests: [...requestDigests], workContext: { selectedSnapshot: config.selection, authority: null }, dispatch: { authorityDigest, requestDigests: [...dispatchDigests] }, experiment: null });
84
+ const proposals = input.intentActions ?? [];
85
+ if (proposals.length > 8 || new Set(proposals.map(x => x.key)).size !== proposals.length || proposals.some(x => !idPattern.test(x.key) || typeof x.label !== "string" || !x.label.trim() || Buffer.byteLength(x.label) > 120))
86
+ throw Error("bounded friendly intent actions required");
87
+ const requestDigests = new Set(), dispatchDigests = new Set(), ordinaryDigests = new Set();
88
+ let host, factsResultManifest = null, workSelection = input.declared.selectedSnapshot, declaredState = input.declared, reboundSnapshotId = null;
89
+ const authority = () => ({ hostDigests: [dashboardHostDigest(config)], requestDigests: [...requestDigests], workContext: { selectedSnapshot: workSelection, authority: null }, dispatch: { authorityDigest, requestDigests: [...dispatchDigests] }, experiment: null, ordinary: { bindingDigest: input.ordinary.bindingDigest, requestDigests: [...ordinaryDigests] } });
48
90
  const request = (context, operation, payload, requestId) => ({ version: "1.0", requestId, hostDigest: context.hostDigest, selectionDigest: context.selectionDigest, expectedTip: context.tip, operation, payload });
49
91
  host = createDashboardHost({ harness: input.harness, config, budget, ordinary: input.ordinary, authority, beforeObservation: sourceId => sourceId === "work" ? refreshWork() : Promise.resolve(), humanActions: async (context) => {
50
92
  const state = await openResourceBudget(budget).controls(null).inspect(), action = state.paused ? "resume-dispatch" : "pause-dispatch", key = state.paused ? "resume-dispatch" : "pause-new-dispatch";
@@ -54,8 +96,36 @@ export async function startDailyDashboardHost(input) {
54
96
  requestDigests.add(dashboardHostRequestDigest(hostRequest));
55
97
  const previous = context.observations.find(x => x.sourceId === "work")?.checkpointId ?? null, refresh = request(context, "observe", { sourceId: "work", previousCheckpointId: previous, facts: context.observations.find(x => x.sourceId === "facts")?.checkpointId ? factsResultManifest : null }, `refresh-work:${state.revision}:${context.tip.slice(0, 12)}`);
56
98
  requestDigests.add(dashboardHostRequestDigest(refresh));
57
- return [{ key, label: state.paused ? "Resume new governed dispatch" : "Pause new governed dispatch; running children continue", request: hostRequest }, { key: "refresh-current-work", label: "Capture current declared work and attempts", request: refresh }];
58
- } });
99
+ const intentState = await openResourceBudget(budget).intentControls(null).inspect(), automatic = discoverDailyIntentActions(await readFile(input.declared.ledgerPath, "utf8"), intentState.selection, intentState.priorities);
100
+ const candidates = [...proposals, ...automatic].filter((p, index, all) => all.findIndex(x => x.key === p.key) === index).filter(p => p.action === "reprioritize" || Boolean(input.onDeclaredWorkChanged)).slice(0, 8);
101
+ const intents = (input.ordinary.quiescent() ? candidates : []).filter(p => intentKey(p.fromSelection) === intentKey(intentState.selection)).map(p => {
102
+ const native = intentRequest({ version: "intent-request-v1", requestId: `${p.key}:${intentState.revision}`, bindingDigest: config.budgetDigest, expectedRevision: intentState.revision, expectedSelection: intentState.selection, action: p.action, events: p.events, selection: p.selection, priorities: p.priorities });
103
+ dispatchDigests.add(intentRequestDigest(native));
104
+ const proposed = request(context, "intent", native, `host-intent:${p.key}:${intentState.revision}`);
105
+ requestDigests.add(dashboardHostRequestDigest(proposed));
106
+ return { key: p.key, label: p.label, request: proposed };
107
+ });
108
+ const ordinary = input.ordinary.inspect(), accounting = await openResourceBudget(budget).inspect(), presence = input.presence?.();
109
+ const presentation = [];
110
+ if (context.preparedPresentationDigest) {
111
+ const shown = request(context, "presented", { frameDigest: context.preparedPresentationDigest }, `host-presented:${state.revision}:${context.tip.slice(0, 12)}`);
112
+ requestDigests.add(dashboardHostRequestDigest(shown));
113
+ presentation.push({ key: "acknowledge-case-cards", label: "Acknowledge these case cards are visible", request: shown });
114
+ }
115
+ else if (presence?.present === true && presence.closing === true && presence.expiresAt > Date.now() && state.paused && accounting.active === 0 && !ordinary.children.some(row => row.state === "active")) {
116
+ const present = request(context, "present", { userPresent: true, closing: true, evidenceDigest: presence.evidenceDigest, dispatchRevision: state.revision }, `host-present:${state.revision}:${context.tip.slice(0, 12)}`);
117
+ requestDigests.add(dashboardHostRequestDigest(present));
118
+ presentation.push({ key: "prepare-case-cards", label: "Prepare up to five retained case cards", request: present });
119
+ }
120
+ const cancellations = ordinary.children.filter(row => row.state === "active").sort((a, b) => a.target.executionId.localeCompare(b.target.executionId)).slice(0, 8).map(row => {
121
+ const native = ordinaryCancellation({ version: "ordinary-cancel-v1", requestId: `cancel:${row.target.executionId.slice(5)}`, bindingDigest: input.ordinary.bindingDigest, expectedRevision: ordinary.revision, target: row.target });
122
+ ordinaryDigests.add(ordinaryCancellationDigest(native));
123
+ const cancel = request(context, "ordinary-cancel", native, `host-cancel:${row.target.executionId.slice(5)}:${ordinary.revision}`);
124
+ requestDigests.add(dashboardHostRequestDigest(cancel));
125
+ return { key: `cancel-${row.target.executionId.replace(":", "-")}`, label: `Cancel running attempt ${row.target.executionId}`, request: cancel };
126
+ });
127
+ return [{ key, label: state.paused ? "Resume new governed dispatch" : "Pause new governed dispatch; running children continue", request: hostRequest }, { key: "refresh-current-work", label: reboundSnapshotId ? `Capture rebound declared work; next dispatch uses ${reboundSnapshotId}` : "Capture current declared work and attempts", request: refresh }, ...intents, ...presentation, ...cancellations];
128
+ }, afterIntentApplied: async (selection) => { const rebound = await rebindDeclaredWork(declaredState, selection); declaredState = rebound; workSelection = selection; reboundSnapshotId = selection.snapshot.id; await input.onDeclaredWorkChanged?.(rebound); }, presence: input.presence });
59
129
  const before = await host.frame(), observeFacts = request({ hostDigest: host.hostDigest, selectionDigest: before.selectionDigest, tip: before.tip }, "observe", { sourceId: "facts", previousCheckpointId: null, facts: null }, "observe-current-facts");
60
130
  requestDigests.add(dashboardHostRequestDigest(observeFacts));
61
131
  const factsResult = await host.action(observeFacts);
@@ -1 +1 @@
1
- {"version":3,"file":"daily-dashboard-host.js","sourceRoot":"","sources":["../src/daily-dashboard-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daily-dashboard-host.js","sourceRoot":"","sources":["../src/daily-dashboard-host.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-handshake.d.ts","sourceRoot":"","sources":["../src/dashboard-handshake.ts"],"names":[],"mappings":"AAGA,OAAO,EAQL,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC;AAQxD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AAiCD,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;CACrE;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,oBAAoB,CAAC;CAC1B;AAED,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,GAAG,YAAY,GAAG,mBAAmB,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEpI,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA2DhH;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA2BrG;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAKzG"}
1
+ {"version":3,"file":"dashboard-handshake.d.ts","sourceRoot":"","sources":["../src/dashboard-handshake.ts"],"names":[],"mappings":"AAGA,OAAO,EAQL,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC;AAQxD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AAiCD,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;CACrE;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,oBAAoB,CAAC;CAC1B;AAED,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,GAAG,YAAY,GAAG,mBAAmB,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEpI,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAoEhH;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA2BrG;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAKzG"}
@@ -50,18 +50,27 @@ export async function offerDashboardHandshake(input) {
50
50
  const plugin = await inspectDashboardPlugin(exec, input.pluginRoot);
51
51
  if (plugin.state === "compatible")
52
52
  return "already-installed";
53
- if (plugin.state !== "absent") {
53
+ const replacingDifferentPackage = plugin.state === "incompatible" && plugin.incompatibility === "package-root";
54
+ if (plugin.state !== "absent" && !replacingDifferentPackage) {
54
55
  input.ui.notify(`pi-daddy dashboard: ${plugin.diagnostic}`, "error");
55
56
  return "failed";
56
57
  }
57
- const choice = await input.ui.select("Herdr detected. Install and open the pi-daddy dashboard?", ["Install and open", "Not now", "Never ask"]);
58
- if (choice !== "Install and open" && choice !== "Not now" && choice !== "Never ask") {
58
+ const affirmative = replacingDifferentPackage ? "Relink and open" : "Install and open";
59
+ const choices = replacingDifferentPackage ? [affirmative, "Not now"] : [affirmative, "Not now", "Never ask"];
60
+ const choice = await input.ui.select(replacingDifferentPackage
61
+ ? "The pi-daddy dashboard is linked from a different package. Relink this bundled copy and open it?"
62
+ : "Herdr detected. Install and open the pi-daddy dashboard?", choices);
63
+ if (!choices.includes(choice ?? "")) {
59
64
  // Escape, timeout and UI teardown return undefined. None is an operator choice, so none may become a
60
65
  // durable preference merely because the dialog disappeared.
61
66
  input.ui.notify("pi-daddy dashboard: installation prompt dismissed; no preference was stored.", "info");
62
67
  return "deferred";
63
68
  }
64
- if (choice !== "Install and open") {
69
+ if (choice !== affirmative) {
70
+ if (replacingDifferentPackage) {
71
+ input.ui.notify("pi-daddy dashboard: existing link unchanged; no preference was stored.", "info");
72
+ return "deferred";
73
+ }
65
74
  const recorded = choice === "Never ask" ? "never" : "not-now";
66
75
  await savePreference(input.preferencePath, recorded);
67
76
  input.ui.notify(recorded === "never"
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-handshake.js","sourceRoot":"","sources":["../src/dashboard-handshake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-handshake.js","sourceRoot":"","sources":["../src/dashboard-handshake.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export interface DashboardHarnessArtifact {
6
6
  typeboxRoot: string;
7
7
  typeboxPackageSha256: string;
8
8
  }
9
- export declare const DASHBOARD_HARNESS_BRIDGE_SOURCE = "127b349310dd8f28e5d6b12148a063fce66a77dd";
9
+ export declare const DASHBOARD_HARNESS_BRIDGE_SOURCE = "d123257e53d48a2cad6919708976b5371dc7590e";
10
10
  /** Adopt the API published by the already-loaded skill-harness extension. Same-process source identity is not human authentication. */
11
11
  export declare function adoptDashboardHarnessBridge(input: unknown): DashboardHarness;
12
12
  export declare const loadedDashboardHarnessDigest: (h: unknown) => string | null;
@@ -13,8 +13,8 @@ import { pathToFileURL } from "node:url";
13
13
  import { dataDigest, byteDigest, detached, sha } from "./debrief-contract.js";
14
14
  import { DASHBOARD_HARNESS_PIN } from "./dashboard-host-contract.js";
15
15
  const loaded = new WeakMap();
16
- export const DASHBOARD_HARNESS_BRIDGE_SOURCE = "127b349310dd8f28e5d6b12148a063fce66a77dd";
17
- const bridgeFunctions = ["learningJournal", "createTrustLifecycle", "openTrustLifecycle", "trustPolicyDigest", "archivePolicyBinding", "ingestPolicySource", "readArchiveCheckpoint", "readArchiveSource", "retainArchiveSource", "captureArchivedWorkSignals", "readRetainedExecution", "projectRetainedExecutions", "createWorkCaseReviewer", "createWorkSignalReviewer", "retainBlindIntervention", "openBlindIntervention"];
16
+ export const DASHBOARD_HARNESS_BRIDGE_SOURCE = "d123257e53d48a2cad6919708976b5371dc7590e";
17
+ const bridgeFunctions = ["learningJournal", "createTrustLifecycle", "openTrustLifecycle", "trustPolicyDigest", "archivePolicyBinding", "ingestPolicySource", "readArchiveCheckpoint", "readArchiveSource", "retainArchiveSource", "captureArchivedWorkSignals", "readRetainedExecution", "projectRetainedExecutions", "createWorkCaseReviewer", "createWorkSignalReviewer", "retainBlindIntervention", "openBlindIntervention", "retainLearningLifecycle", "readLearningLifecycle"];
18
18
  /** Adopt the API published by the already-loaded skill-harness extension. Same-process source identity is not human authentication. */
19
19
  export function adoptDashboardHarnessBridge(input) {
20
20
  const value = input;
@@ -75,7 +75,7 @@ export async function loadDashboardHarness(artifactRoot, input, parent) {
75
75
  }
76
76
  await mkdir(join(directory, "node_modules"));
77
77
  await symlink(manifest.typeboxRoot, join(directory, "node_modules/typebox"));
78
- const names = ["learning-journal", "trust-lifecycle", "archive-policy", "archive-observer", "archive-checkpoint", "archived-work", "execution-retention-archive", "work-case-review", "blind-intervention", "evidence-archive", "work-signal-observation", "work-signal-cases", "work-case-archive"];
78
+ const names = ["learning-journal", "trust-lifecycle", "archive-policy", "archive-observer", "archive-checkpoint", "archived-work", "execution-retention-archive", "work-case-review", "blind-intervention", "learning-lifecycle", "evidence-archive", "work-signal-observation", "work-signal-cases", "work-case-archive"];
79
79
  const api = Object.assign({}, ...await Promise.all([...names.map(n => "packages/adapters/src/" + n + ".js"), "core.js"].map(p => { if (!content.has(p))
80
80
  throw Error("missing genuine harness entry"); return import(__rewriteRelativeImportExtension(pathToFileURL(join(directory, p)).href)); })));
81
81
  for (const [p, digest] of files)
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-harness.js","sourceRoot":"","sources":["../src/dashboard-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-harness.js","sourceRoot":"","sources":["../src/dashboard-harness.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export type DashboardPluginState = "absent" | "disabled" | "compatible" | "incom
27
27
  export interface DashboardPluginStatus {
28
28
  state: DashboardPluginState;
29
29
  diagnostic: string;
30
+ incompatibility?: "package-root" | "protocol";
30
31
  plugin?: Record<string, unknown>;
31
32
  }
32
33
  export declare function inspectDashboardPlugin(exec?: HerdrExec, expectedPluginRoot?: string): Promise<DashboardPluginStatus>;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-herdr.d.ts","sourceRoot":"","sources":["../src/dashboard-herdr.ts"],"names":[],"mappings":"AAUA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG5D,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AACxD,eAAO,MAAM,2BAA2B,cAAc,CAAC;AACvD,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAEhD,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,EAAE,SAO/B,CAAC;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AASxD,wBAAsB,eAAe,CAAC,OAAO,GAAE;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CACb,GAAG,OAAO,CAAC,eAAe,CAAC,CA6ChC;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,cAAc,GAAG,aAAa,CAAC;AACzG,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAQD,wBAAsB,sBAAsB,CAC1C,IAAI,GAAE,SAA8B,EACpC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAwChC;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,SAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjH;AAmFD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AACD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiGlG;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/D"}
1
+ {"version":3,"file":"dashboard-herdr.d.ts","sourceRoot":"","sources":["../src/dashboard-herdr.ts"],"names":[],"mappings":"AAUA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG5D,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AACxD,eAAO,MAAM,2BAA2B,cAAc,CAAC;AACvD,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAEhD,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,EAAE,SAO/B,CAAC;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AASxD,wBAAsB,eAAe,CAAC,OAAO,GAAE;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CACb,GAAG,OAAO,CAAC,eAAe,CAAC,CA6ChC;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,cAAc,GAAG,aAAa,CAAC;AACzG,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAQD,wBAAsB,sBAAsB,CAC1C,IAAI,GAAE,SAA8B,EACpC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CA0ChC;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,SAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjH;AAmFD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AACD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiGlG;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/D"}
@@ -84,21 +84,23 @@ export async function inspectDashboardPlugin(exec = dashboardHerdrExec, expected
84
84
  const plugin = plugins.find((candidate) => candidate.plugin_id === DASHBOARD_PLUGIN_ID);
85
85
  if (!plugin)
86
86
  return { state: "absent", diagnostic: `Herdr plugin ${DASHBOARD_PLUGIN_ID} is not installed.` };
87
- // Provenance and protocol precede enabled state. Suggesting `plugin enable` for a same-id plugin from
88
- // another package would ask the operator to activate software this package explicitly refuses to invoke.
89
- if (expectedPluginRoot && (typeof plugin.plugin_root !== "string" || resolve(plugin.plugin_root) !== resolve(expectedPluginRoot))) {
87
+ // Protocol and provenance both precede enabled state. A root-only repair is offered only when the
88
+ // registered manifest already speaks this core's protocol; unknown software is never replaced by guesswork.
89
+ const major = protocolMajor(plugin.version);
90
+ if (major !== DASHBOARD_PROTOCOL_VERSION) {
90
91
  return {
91
92
  state: "incompatible",
92
- diagnostic: `Herdr plugin ${DASHBOARD_PLUGIN_ID} is linked from a different package; relink the bundled copy.`,
93
+ diagnostic: `Herdr plugin ${DASHBOARD_PLUGIN_ID} uses protocol ${major ?? "unknown"}; ` +
94
+ `this pi-daddy core requires ${DASHBOARD_PROTOCOL_VERSION}. Relink both from the same package.`,
95
+ incompatibility: "protocol",
93
96
  plugin,
94
97
  };
95
98
  }
96
- const major = protocolMajor(plugin.version);
97
- if (major !== DASHBOARD_PROTOCOL_VERSION) {
99
+ if (expectedPluginRoot && (typeof plugin.plugin_root !== "string" || resolve(plugin.plugin_root) !== resolve(expectedPluginRoot))) {
98
100
  return {
99
101
  state: "incompatible",
100
- diagnostic: `Herdr plugin ${DASHBOARD_PLUGIN_ID} uses protocol ${major ?? "unknown"}; ` +
101
- `this pi-daddy core requires ${DASHBOARD_PROTOCOL_VERSION}. Relink both from the same package.`,
102
+ diagnostic: `Herdr plugin ${DASHBOARD_PLUGIN_ID} is linked from a different package; relink the bundled copy.`,
103
+ incompatibility: "package-root",
102
104
  plugin,
103
105
  };
104
106
  }