Skip to content

Pico Engine 1.8.0

Latest

Choose a tag to compare

@windley windley released this 26 Oct 17:20

Pico Engine 1.8.0 — release notes

Theme: Machine-readable pico surfaces, correct channel authority, and agent-facing dev tools (schemas, policy ceiling, MCP).

Highlights

  • Pico schemas — doc annotations, krl-check, Testing/Docs UI, wrangler:picoSchema / rulesetSchema / channelSchema
  • Channel policy — deny overrides permit; optional root policy ceiling, global deny lists, opt-in wildcard Sky bearer (audit)
  • Operator config — ~/.config/pico-engine/config.json, pico-engine -c, PICO_ENGINE_CONFIG
  • MCP — dev stdio (pico-engine mcp --stdio); mesh Streamable HTTP at /mcp/:eci (OAuth bearer)
  • Install/flush visibility — ctx:validate before install (wrangler) and flush (UI); ruleset_install_failed / ruleset_flush_failed; event-wait events array for UI and MCP
  • Rule outcomes — annotated rules report fired / not_fired / not_selected on event-wait responses and Testing history

Policy and security (operators)

  • Default root UI channel remains permissive for the owner; narrow OAuth webhook and app channels for automation.
  • Policy ceiling — parents can cap child channel policies; optional defaultRootPolicyCeiling in config (example).
  • Wildcard /sky/* — by default unchanged from 1.7; set wildcardSkyRequireBearer (config or env) to require validated caller identity on wildcard channels.
  • Manifold — narrowed thing channels and policyCeiling on create remain in manifold-api (release deferred).

Agent / developer loop

  • krl-check — krl-check [--json] [--schema] file.krl
  • MCP dev tools — validate, install, raise, query; resources + write-ruleset prompt
  • Docs for LLMs — public/docs/llms.txt, llms-full.txt, openapi.yaml (run node tools/generate-llms-text.js after doc edits)

Upgrade

  • Requires pico-framework ^0.8.2
  • Env vars still work; config file wins over PORT / PICO_ENGINE_HOME when both are set

Known deferrals

  • JSON Schema export (picoSchema({ format: "jsonschema" })) for mesh tool args at scale
  • Standalone @picolabs/pico-engine-mcp npm package (use pico-engine mcp --stdio)
  • Manifold-api channel flush on live meshes