@expert-council/pi-package 0.5.0 → 0.5.3

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 (2) hide show
  1. package/README.md +82 -9
  2. package/package.json +31 -10
package/README.md CHANGED
@@ -17,7 +17,7 @@ In practice, the theoretically strongest model is not automatically the best exe
17
17
 
18
18
  ## Current status
19
19
 
20
- The current release (0.5.0) includes:
20
+ The current release (0.5.3) includes:
21
21
 
22
22
  - A host-independent Core: configuration validation, model normalization, billing policy, profile layering, role scoring, task classification, dynamic team sizing, retry/escalation, and telemetry aggregation.
23
23
  - An execution runtime built on Pi's current `ModelRuntime` and `createAgentSession` APIs.
@@ -29,7 +29,7 @@ The current release (0.5.0) includes:
29
29
  - Runtime availability markers: when a call fails with dead-model evidence, the model is recorded into the persisted assessment and hard-rejected by later council building, delegation, and escalation; markers expire and are retried automatically after 24 hours.
30
30
  - Provider session error surfacing: upstream denials such as `403 AccessDenied` are no longer swallowed; they return to the Main Agent with the real diagnostic and the correct failure class.
31
31
  - Cross-process shared model assessment: with multiple instances running in parallel, availability markers become visible to each other without a restart.
32
- - A Codex plugin with the shared Skill and a bundled stdio MCP Server, using Codex's host-owned `codex/sandbox-state-meta` capability for workspace discovery (no hooks).
32
+ - A self-contained Codex plugin with the shared Skill, stdio MCP Server, and tested Pi SDK runtime, using Codex's host-owned `codex/sandbox-state-meta` capability for workspace discovery (no hooks or global SDK lookup).
33
33
  - Deterministic automated tests that never consume model quota.
34
34
 
35
35
  ## Architecture
@@ -97,7 +97,14 @@ pi update npm:@expert-council/pi-package
97
97
 
98
98
  ### Install the Codex plugin (optional)
99
99
 
100
- To run Codex as the Main Agent, build the repository and install the bundled plugin through a Codex plugin marketplace see [Codex plugin](#codex-plugin) for the full walkthrough.
100
+ To run Codex as the Main Agent, install the pinned prebuilt plugin directly from its Git marketplace; no repository clone or local build is required:
101
+
102
+ ```bash
103
+ codex plugin marketplace add Labiey/expert-council-router --ref v0.5.3 --json
104
+ codex plugin add expert-council@expert-council-router --json
105
+ ```
106
+
107
+ Fully restart Codex Desktop after installation. See [Codex plugin](#codex-plugin) for Windows CLI discovery, verification, upgrade, and removal instructions.
101
108
 
102
109
  ### Build from source (development)
103
110
 
@@ -478,16 +485,73 @@ packages/codex-integration/plugin/expert-council/
478
485
  skills/expert-council/SKILL.md
479
486
  dist/server.mjs
480
487
  dist/roles/*.md
488
+ THIRD_PARTY_NOTICES.md
481
489
  ```
482
490
 
483
491
  ### Installation
484
492
 
485
- 1. Build from a repository checkout: `npm install && npm run build`.
486
- 2. Expose the plugin directory through a personal or repository plugin marketplace as documented by the current [OpenAI plugin packaging guide](https://developers.openai.com/plugins/build/plugins). This repository does not write marketplace files automatically, because that would change user or team Codex configuration.
487
- 3. Install the plugin from your marketplace in Codex. After every install or reinstall, fully quit Codex Desktop, wait for its backend process to exit, and reopen the app — merely opening a new task is not a reliable MCP reload boundary in every Desktop build.
488
- 4. When upgrading, bump the marketplace cachebuster and remove obsolete test installations first; installing multiple copies that all declare the `expert_council` MCP server makes host diagnostics ambiguous.
493
+ Release `v0.5.2` includes both the prebuilt MCP server and its tested Pi SDK runtime, so Codex can install the plugin directly from the repository as a pinned Git marketplace. Node.js 22.19 or newer and an already configured Pi account/model catalog are required; cloning this repository, running `npm install`, or resolving a global `@earendil-works/pi-coding-agent` module is not required.
494
+
495
+ ```bash
496
+ codex plugin marketplace add Labiey/expert-council-router --ref v0.5.3 --json
497
+ codex plugin marketplace list --json
498
+ codex plugin list --marketplace expert-council-router --available --json
499
+ codex plugin add expert-council@expert-council-router --json
500
+ codex plugin list --json
501
+ ```
502
+
503
+ `marketplace add` is needed only once for this release. If the marketplace name is already registered from an older or local source, remove that source first or follow the upgrade procedure below. `plugin list --json` should show `expert-council` as installed from `expert-council-router`.
504
+
505
+ Codex Desktop on Windows includes the CLI, but it may not be on `PATH`. In PowerShell, resolve the running Desktop binary and use it for the same remote installation:
506
+
507
+ ```powershell
508
+ $ecCodex = (Get-Command codex.exe -ErrorAction SilentlyContinue).Source
509
+ if (-not $ecCodex) {
510
+ $ecCodex = Get-Process codex -ErrorAction SilentlyContinue |
511
+ Where-Object Path |
512
+ Select-Object -First 1 -ExpandProperty Path
513
+ }
514
+ if (-not $ecCodex) {
515
+ $ecCodex = Get-ChildItem (Join-Path $env:LOCALAPPDATA "OpenAI/Codex/bin") `
516
+ -Filter codex.exe -File -Recurse -ErrorAction SilentlyContinue |
517
+ Sort-Object LastWriteTime -Descending |
518
+ Select-Object -First 1 -ExpandProperty FullName
519
+ }
520
+ if (-not $ecCodex) { throw "Codex Desktop CLI was not found." }
521
+
522
+ & $ecCodex plugin marketplace add Labiey/expert-council-router --ref v0.5.3 --json
523
+ & $ecCodex plugin marketplace list --json
524
+ & $ecCodex plugin list --marketplace expert-council-router --available --json
525
+ & $ecCodex plugin add "expert-council@expert-council-router" --json
526
+ & $ecCodex plugin list --json
527
+ ```
528
+
529
+ Fully quit Codex Desktop, wait for its backend process to exit, reopen it, and start a new task. Merely opening another task is not a reliable MCP reload boundary in every Desktop build.
489
530
 
490
- A correct load exposes the `expert-council` Skill and all nine `expert_*` MCP tools. If the Skill is present but the tools are absent, treat the installation as failed: restart or reinstall the plugin instead of launching `dist/server.mjs` manually or sending hand-written JSON-RPC.
531
+ For local plugin development, clone the repository, run `npm ci && npm run build`, and pass its absolute root to `codex plugin marketplace add` instead of the GitHub repository name. The pinned remote release is recommended for normal use.
532
+
533
+ A correct load exposes the `expert-council` Skill and all nine `expert_*` MCP tools. `expert_inspect` must return a real inventory rather than a "No compatible Pi SDK is installed" diagnostic. If the Skill is present but the tools are absent, or inspection reports that diagnostic, verify that the marketplace is pinned to `v0.5.3` or newer, then restart or reinstall the plugin instead of launching `dist/server.mjs` manually or sending hand-written JSON-RPC.
534
+
535
+ To verify the installed workflow, use a new Codex task and ask:
536
+
537
+ ```text
538
+ Use Expert Council to inspect the currently available Pi models, providers, billing classification, and model-assessment status. Return only a compact summary; do not build a council or delegate experts.
539
+ ```
540
+
541
+ The task should invoke `expert_inspect`. It should not ask for hook trust, manually launch the MCP server, or treat the plugin cache as the project workspace.
542
+
543
+ ### Upgrade
544
+
545
+ A marketplace pinned with `--ref` intentionally stays on that release. To upgrade, remove the installed plugin and old marketplace registration, then add the new tag and reinstall:
546
+
547
+ ```bash
548
+ codex plugin remove expert-council@expert-council-router --json
549
+ codex plugin marketplace remove expert-council-router --json
550
+ codex plugin marketplace add Labiey/expert-council-router --ref vX.Y.Z --json
551
+ codex plugin add expert-council@expert-council-router --json
552
+ ```
553
+
554
+ Replace `vX.Y.Z` with the intended release. Users who deliberately track the default branch can omit `--ref` and later run `codex plugin marketplace upgrade expert-council-router --json`, but pinned tags are safer for normal use. After reinstalling, fully restart Codex Desktop and test in a new task. Avoid installing multiple copies that all declare the `expert_council` MCP server.
491
555
 
492
556
  ### Behavior highlights
493
557
 
@@ -497,7 +561,16 @@ A correct load exposes the `expert-council` Skill and all nine `expert_*` MCP to
497
561
 
498
562
  ### Removal
499
563
 
500
- Remove the plugin from Codex's plugin settings, then fully quit Codex Desktop before starting new tasks.
564
+ Remove the plugin and its marketplace registration:
565
+
566
+ ```bash
567
+ codex plugin remove expert-council@expert-council-router --json
568
+ codex plugin marketplace remove expert-council-router --json
569
+ codex plugin list --json
570
+ codex plugin marketplace list --json
571
+ ```
572
+
573
+ On Windows, replace `codex` with `& $ecCodex` when using the PowerShell variable above. Fully quit Codex Desktop before starting new tasks.
501
574
 
502
575
  ## Testing
503
576
 
package/package.json CHANGED
@@ -1,24 +1,45 @@
1
1
  {
2
2
  "name": "@expert-council/pi-package",
3
- "version": "0.5.0",
3
+ "version": "0.5.3",
4
4
  "description": "Native Pi package exposing Expert Council tools and host guidance",
5
5
  "type": "module",
6
6
  "main": "./dist/extension.js",
7
7
  "types": "./dist/extension.d.ts",
8
- "files": ["dist", "skills", "README.md", "LICENSE"],
8
+ "files": [
9
+ "dist",
10
+ "skills",
11
+ "README.md",
12
+ "LICENSE"
13
+ ],
9
14
  "license": "MIT",
10
- "repository": { "type": "git", "url": "git+https://github.com/Labiey/expert-council-router.git", "directory": "packages/pi-package" },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/Labiey/expert-council-router.git",
18
+ "directory": "packages/pi-package"
19
+ },
11
20
  "homepage": "https://github.com/Labiey/expert-council-router#readme",
12
- "bugs": { "url": "https://github.com/Labiey/expert-council-router/issues" },
13
- "keywords": ["pi-package", "multi-model", "orchestration"],
14
- "publishConfig": { "access": "public" },
21
+ "bugs": {
22
+ "url": "https://github.com/Labiey/expert-council-router/issues"
23
+ },
24
+ "keywords": [
25
+ "pi-package",
26
+ "multi-model",
27
+ "orchestration"
28
+ ],
29
+ "publishConfig": {
30
+ "access": "public"
31
+ },
15
32
  "pi": {
16
- "extensions": ["./dist/extension.js"],
17
- "skills": ["./skills"]
33
+ "extensions": [
34
+ "./dist/extension.js"
35
+ ],
36
+ "skills": [
37
+ "./skills"
38
+ ]
18
39
  },
19
40
  "dependencies": {
20
- "@expert-council/core": "0.5.0",
21
- "@expert-council/pi-runtime": "0.5.0"
41
+ "@expert-council/core": "0.5.3",
42
+ "@expert-council/pi-runtime": "0.5.3"
22
43
  },
23
44
  "peerDependencies": {
24
45
  "@earendil-works/pi-coding-agent": ">=0.84.0 <1",