Skip to content

v0.9.1: Report artifact-skill readiness and define a managed dependency runtime #4407

Description

@Hmbown

Problem

CodeWhale bundles four first-party workflow recipes for presentations, spreadsheets, PDFs, and documents. The recipes are discoverable as Available/Built-in, but CodeWhale does not currently report whether the host has the external tools needed for each operation.

The v0.9.0 audit initially misclassified all four as broken. The actual state is more nuanced:

  • document structure work and CSV analysis can work with the current host
  • PDF reading is self-contained through the bundled Rust extractor
  • XLSX/PPTX authoring and advanced PDF/document rendering may require Python/Node/Poppler/LibreOffice dependencies
  • the similarly named Codex skills use a separate managed runtime and cannot simply be copied into CodeWhale

Installing packages globally on one maintainer machine would hide the product gap rather than solve it for npm, Cargo, binary, and Docker users.

Current evidence

  • Bundled skill installation: crates/tui/src/skills/system.rs
  • Skill recipes: crates/tui/assets/skills/{presentations,spreadsheets,pdf,documents}/SKILL.md
  • PDF extraction: crates/tui/src/tools/file.rs
  • Human doctor probes some host tools, but doctor --json does not map them to individual skills
  • Docker ships the Rust binary without Python/Node/Poppler/LibreOffice

Scope

  1. Add deterministic per-skill readiness probes with states such as ready, partial, and needs_setup.
  2. Surface the result in /skills and doctor --json without claiming that a recipe is turnkey when dependencies are absent.
  3. Clarify bundled-skill copy: these are dependency-conditional workflow guides.
  4. Decide and document the long-term runtime:
    • checksummed, versioned, per-platform CodeWhale artifact runtime and loader, or
    • deliberately external dependencies with guided setup.
  5. Keep PDF read readiness distinct from PDF create/edit/render readiness.

Acceptance criteria

  • A clean Docker fixture reports truthful status for all four bundled artifact skills.
  • PDF reading reports ready when the Rust extractor is present even without Poppler/Python.
  • XLSX/PPTX authoring reports needs setup when required tooling is absent.
  • doctor --json exposes per-skill readiness and missing capabilities.
  • /skills does not conflate recipe discovery with runtime readiness.
  • Tests use mocked command/module probes and do not install packages globally.
  • If bundled SKILL.md copy changes, BUNDLED_SKILL_VERSION is bumped and migration behavior is covered.

Non-goals

  • Do not depend on the maintainer's Codex-managed runtime.
  • Do not silently pip install or mutate a user's system Python.
  • Do not remove bundled PDF reading, which is already self-contained.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-readyBody is self-sufficient per docs/AGENT_RUNNER.md; a remote agent may claim itbugSomething isn't workingenhancementNew feature or requesttuiTerminal UI behavior, rendering, or interactionworkflow-runtimeWorkflow IR, executor, control flow, and replay runtime

    Projects

    Status
    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions