Skip to content

COOL IDEAS™: expose verified installed-operation capabilities #288

Description

@flyingrobots

Classification

COOL IDEA™ — runtime truth projection for agents, UI, diagnostics, and progressive Edict migration.

Observation

Jim currently learns that an operation is unavailable when the real native host returns a typed obstruction such as generated-operation-unavailable. That is honest and must remain the execution-time rule.

However, the host already knows which generated package and operations are actually installed. A verified, read-only capability projection could let Jim explain or disable unavailable commands before the user attempts them, without turning a configuration file or TypeScript constant into authority.

The idea

Expose a native-host capability observation derived from the installed Echo package registry and, later, Edict's admitted operation inventory.

The projection could report:

  • operation semantic name/kind;
  • installed and invocable posture;
  • package/schema/ABI version or provenance;
  • compatibility-corridor versus Edict-native origin;
  • typed reason when an expected operation is absent;
  • optional gate/witness reference for diagnostics.

This is not permission to execute. Every invocation still validates the actual installed operation and fails closed.

Why it is cool

The same truthful capability surface could drive:

  • command-palette enablement and precise “why unavailable” text;
  • :doctor and agent-readable diagnostics;
  • feature negotiation during staged Edict migration;
  • release gates that prove expected operations are installed;
  • tests that ensure a removed compatibility operation is genuinely unreachable.

Constraints

  • The native Echo/Edict host is the source of the projection.
  • TypeScript must not mint operation IDs, package digests, receipts, or capability claims.
  • Capability data is advisory and may become stale; invocation is always authoritative.
  • A missing host is itself a typed obstruction, never an empty “all supported” fallback.
  • Test capabilities must be explicitly injected, unmistakably test-only, and never claim authority echo.
  • Avoid a handwritten registry that duplicates generated/installed metadata.

Acceptance criteria

  • Define a bounded, versioned native capability response.
  • Derive it from the verified installed package/operation registry.
  • Include enough provenance to distinguish compatibility GraphQL/Wesley operations from Edict-native operations.
  • Reconstruct the same capability truth after restart without process-local authority.
  • Prove missing host, missing package, unsupported operation, and stale projection behavior.
  • Keep execution-time generated-operation-unavailable or its Edict successor mandatory.
  • Integrate one honest consumer, such as :doctor or command enablement.
  • Prove TypeScript contains no fallback capability table claiming Echo authority.
  • Define the migration path by which Edict becomes the producer without breaking consumers.

Related, not duplicate

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions