Skip to content

Publish stable typed runtime, profile, and context extension contracts #59

Description

@codeforester

Parent: #50

Train position: 9 of 22
Phase: P1 — Incremental adoption

Problem

Public extension types depend on private implementation classes, and decorators, callbacks, context payloads, and Click objects are weakly typed.

Acceptance criteria

  • Public profile/runtime protocols or dataclasses no longer require importing private RuntimeLayout.
  • Resolver, history/finalizer, runtime binding, and Context extension points are documented public contracts.
  • Decorators preserve call signatures with ParamSpec, callbacks and Click objects are typed, and Context supports generic consumer config/state payloads.
  • Global mutable command-schema state is replaced by an instantiable registry/codec contract or isolated behind a compatible public object.
  • Native async callback support has an explicit documented decision and, if supported, a tested lifecycle contract.
  • A strict-typechecked sample consumer passes and compatibility for current CliProfile/RuntimeBinding is covered.

Dependencies

Metadata

Metadata

Assignees

Labels

enhancementNew feature or product improvement

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions