pi-daddy 0.32.0 → 0.32.1
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/CHANGELOG.md +9 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +12 -3
- package/dist/cli.js.map +1 -1
- package/dist/executors/herdr-cli.d.ts +1 -1
- package/dist/executors/herdr-cli.js +1 -1
- package/dist/executors/herdr-poll.d.ts +1 -1
- package/dist/executors/herdr-poll.js +1 -1
- package/dist/executors/pane-reaper.d.ts +1 -1
- package/dist/executors/pane-reaper.js +2 -2
- package/dist/executors/pane-reaper.js.map +1 -1
- package/dist/executors/run-herdr.d.ts +3 -3
- package/dist/executors/run-herdr.js +2 -2
- package/dist/governance/ledger-report.d.ts +1 -1
- package/dist/governance/ledger.d.ts +1 -1
- package/dist/governance/ledger.js +1 -1
- package/dist/governance/workspace-lease.js +1 -1
- package/dist/kernel/capabilities.d.ts +2 -2
- package/dist/kernel/capabilities.js +2 -2
- package/dist/kernel/catalog.d.ts +27 -0
- package/dist/kernel/catalog.d.ts.map +1 -1
- package/dist/kernel/catalog.js +59 -1
- package/dist/kernel/catalog.js.map +1 -1
- package/dist/kernel/delegate.d.ts.map +1 -1
- package/dist/kernel/delegate.js +7 -1
- package/dist/kernel/delegate.js.map +1 -1
- package/dist/kernel/grant-env.d.ts +1 -1
- package/dist/kernel/grant-env.js +1 -1
- package/dist/kernel/propagation.d.ts +1 -1
- package/dist/kernel/propagation.js +1 -1
- package/dist/kernel/resolve.d.ts +2 -2
- package/dist/kernel/resolve.js +3 -3
- package/dist/kernel/routing-authority.d.ts +1 -1
- package/dist/kernel/routing-authority.js +1 -1
- package/dist/kernel/skill-packages.d.ts +1 -1
- package/dist/kernel/skill-packages.js +1 -1
- package/dist/kernel/spawn.d.ts +1 -1
- package/dist/kernel/spawn.js +3 -3
- package/dist/kernel/spawn.js.map +1 -1
- package/dist/kernel/workspace.d.ts +1 -1
- package/extensions/execute-child.ts +1 -1
- package/extensions/grants-command.ts +1 -1
- package/extensions/session-report.ts +1 -1
- package/package.json +1 -1
- package/src/cli.ts +13 -3
- package/src/executors/herdr-cli.ts +1 -1
- package/src/executors/herdr-poll.ts +1 -1
- package/src/executors/pane-reaper.ts +2 -2
- package/src/executors/run-herdr.ts +4 -4
- package/src/governance/ledger-report.ts +1 -1
- package/src/governance/ledger.ts +1 -1
- package/src/governance/workspace-lease.ts +1 -1
- package/src/kernel/capabilities.ts +2 -2
- package/src/kernel/catalog.ts +61 -1
- package/src/kernel/delegate.ts +6 -1
- package/src/kernel/grant-env.ts +1 -1
- package/src/kernel/propagation.ts +1 -1
- package/src/kernel/resolve.ts +3 -3
- package/src/kernel/routing-authority.ts +1 -1
- package/src/kernel/skill-packages.ts +1 -1
- package/src/kernel/spawn.ts +3 -3
- package/src/kernel/workspace.ts +1 -1
|
@@ -36,7 +36,7 @@ export interface RoutingRefusal {
|
|
|
36
36
|
* Checked before anything is said about the target, for the reason `maySpawnDefinition` is: it is a
|
|
37
37
|
* governance question about the SESSION. Before ADR-0035 nothing checked it — the registry inherited into
|
|
38
38
|
* every governed child and a child routed to `staging` could route its grandchild to `prod` (R-131, measured
|
|
39
|
-
* in `
|
|
39
|
+
* in probe `g36-workspace-attenuation`).
|
|
40
40
|
*
|
|
41
41
|
* **Well-formedness first, because `workspace_id` is a model-facing tool parameter** and the next step turns
|
|
42
42
|
* it into a capability id. `workspace_id: "prod,tool:bash"` produced a `WORKSPACE_NOT_AUTHORIZED` whose
|
|
@@ -92,7 +92,7 @@ export function isSafeName(name: string): boolean {
|
|
|
92
92
|
* grants), which is right for the enforcement path — the catalog refuses what it does not know — and is
|
|
93
93
|
* exactly why the check has to be here, at the boundary that *generates* rather than the one that enforces.
|
|
94
94
|
*
|
|
95
|
-
* The grammar is the one
|
|
95
|
+
* The grammar is the one the README documents: `tool:<name>`, `skill:<name>`, `agent:<name>`,
|
|
96
96
|
* `workspace:<id>`, and `ext:<pkg>/<tool>` where `<pkg>` may be npm-scoped. No wildcards — those are refused
|
|
97
97
|
* separately and loudly, because "you tried to grant yourself everything" is a different fact from "that is
|
|
98
98
|
* not a name".
|
package/src/kernel/spawn.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The enforcement point is pi core, not this package: `--tools` and `--no-tools` hard-block extension
|
|
5
5
|
* tools, and an explicitly `-e`-loaded extension cannot re-add its tool past them (verified,
|
|
6
|
-
*
|
|
6
|
+
* probe `pi-fabric-eval` probes 9–11). So governance reduces to "compute the allowlist correctly
|
|
7
7
|
* and hand it to pi", with no runtime inside the descendant.
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -77,7 +77,7 @@ export function planSpawn(input: SpawnPlanInput): SpawnPlan {
|
|
|
77
77
|
|
|
78
78
|
// R-32. `--no-extensions` governs EXTENSIONS ONLY — measured, not assumed: a child spawned with
|
|
79
79
|
// `--tools read` still loaded all eight of the operator's skills and `CLAUDE.md`
|
|
80
|
-
// (`
|
|
80
|
+
// (probe `g16-herdr` §4-5). Skills are injected into the system prompt rather than passed as
|
|
81
81
|
// tools, so `--tools` cannot reach them and the `skill:` namespace enforced nothing at all.
|
|
82
82
|
//
|
|
83
83
|
// `--no-skills` is unconditional and `--skill` is added on top, because that is exactly how pi
|
|
@@ -133,7 +133,7 @@ export function planSpawn(input: SpawnPlanInput): SpawnPlan {
|
|
|
133
133
|
* - `@…` is resolved as a file and its contents injected into the child's prompt — absolute paths, `~`
|
|
134
134
|
* expansion, no sandbox. This happens in `main.js` before any tool is constructed, so `--tools` and
|
|
135
135
|
* `--no-tools` never apply to it. A child granted nothing at all still reads the file. Verified
|
|
136
|
-
* against pi 0.83.0 (review finding A-C1 / B-C7, and `
|
|
136
|
+
* against pi 0.83.0 (review finding A-C1 / B-C7, and probe `g1-argv`).
|
|
137
137
|
* - `-…` is parsed as a flag, and pi ships `--approve` ("trust project-local files for this run").
|
|
138
138
|
*
|
|
139
139
|
* The task comes from the model, so this is the one place in the package where a model-authored string
|
package/src/kernel/workspace.ts
CHANGED
|
@@ -22,7 +22,7 @@ export interface WorkspaceRegistryFile {
|
|
|
22
22
|
/**
|
|
23
23
|
* Where this was loaded from, carried so a refusal can NAME it.
|
|
24
24
|
*
|
|
25
|
-
*
|
|
25
|
+
* The README claimed an unregistered id is refused "with `WORKSPACE_NOT_REGISTERED`, which names the
|
|
26
26
|
* file", and `catalog.ts` justified exempting the whole namespace from the unknown check on the strength of
|
|
27
27
|
* that — *"a second, weaker check here can only turn that precise refusal into a misleading one"*. The
|
|
28
28
|
* refusal named no file: the registry object had no idea where it came from. Carried on the object rather
|