Cut the first real release, under the policy ADR-0005 defines.
Pre-flight
Docs the release must carry
- README, progressive disclosure, easy examples first:
cw.dispatch(f) # 0. zero ceremony
cw.dispatch([f, g], prog='x') # 1. subcommands
cw.dispatch(COMMANDS, config={'cmd': {'p': {...}}}) # 2. this call's particulars
dispatch = functools.partial(cw.dispatch, convention=cw.MODERN, prog='priv')
dispatch(COMMANDS) # 3. configs shrink to nothing
- The one sentence that carries the whole config story:
config has the same shape as
obj — keyed the way you address the thing on the command line. A single callable has no
command word to type, so it has no command key to write.
- The
ARGH vs MODERN table and what each switch does.
- The migration section, with the ADR-0005 dependency spelling verbatim.
- The v1 non-goals (ADR-0006 cut list), so nobody re-proposes them.
- Documented deliberate divergences from argh: coroutine →
TypeError; the
function-named-parameter case; priv's one renamed command.
Release
Depends on
Research & rationale: the canonical spec and the full fleet audit live in the private research ledger (https://github.com/thorwhalen/priv/discussions/65). Effort: medium.
Cut the first real release, under the policy ADR-0005 defines.
Pre-flight
python -m cw.testing paritygreen on Linux, macOS, Windows.pip install cwin a clean venv pulls zero third-party packages(
pip listdiffed against a bare venv, asserted in CI).import cwpulls noi2(the regression test from the M0 issue).rg -n 'argh' --glob '!misc/docs/*' .returns nothing outside goldens metadata.pyproject.tomlselects ruffD100; they areauto-extracted for generated docs).
Docs the release must carry
confighas the same shape asobj— keyed the way you address the thing on the command line. A single callable has nocommand word to type, so it has no command key to write.
ARGHvsMODERNtable and what each switch does.TypeError; thefunction-named-parameter case; priv's one renamed command.Release
0.1.0; CHANGELOG written.note it in the PR).
t/thereminbumped to the releasedcwand its holdingarghdeclaration removed onceit is on
cw.compator the real API.Depends on
priv --helpandwads pack go --helpbyte-identical #25 — The falsifying gate:priv --helpandwads pack go --helpbyte-identicalarghdependency from cw's pyproject #2 — Drop thearghdependency from cw's pyprojectimport cwstdlib-only: move thei2import intoresource_inputs#3 — Makeimport cwstdlib-only: move thei2import intoresource_inputscw.__main__and thecw[completion]extra #24 —cw.__main__and thecw[completion]extraResearch & rationale: the canonical spec and the full fleet audit live in the private research ledger (https://github.com/thorwhalen/priv/discussions/65). Effort: medium.