canned-prompts/workplans/ADHOC-2026-09-06.md
tegwick 55b8600946 chore(consistency): regenerate WORK-RECORDS.md
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 388925@bnt-lap001
Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 14:48:27 +02:00

58 lines
2.1 KiB
Markdown

---
id: CANP-WP-ADHOC-2026-09-06
type: workplan
title: "Ad hoc fixes — 2026-09-06"
domain: agents
repo: canned-prompts
status: finished
owner: codex
topic_slug: practice
created: "2026-09-06"
updated: "2026-09-06"
state_hub_workstream_id: "1359c589-98b1-510e-b71b-fb5a2cce796c"
---
# Ad hoc fixes — 2026-09-06
Low-risk fixes found while verifying the repo against `INTENT.md`'s eight
success criteria for a first practical release, after `CANP-WP-0002` finished.
## Report unsatisfied dependencies on add and install
```task
id: CANP-WP-ADHOC-2026-09-06-T01
status: done
priority: medium
state_hub_task_id: "3198e18b-3e60-5195-852a-2a2742eea181"
```
**Found by verification.** INTENT success criterion 5 is "publish a version to
a registry and install it elsewhere". Installing `practice/pqrst-estimate` into
a fresh catalog reported success, and rendering it then failed with
`included package not found: practice/house-style`. `CANP-WP-0002-T03`
introduced this: composition made a package installable but unrenderable, and
nothing said so at install time.
The error itself was honest, but reaching it *after* a successful-looking
install is the "silently incomplete" failure that § 23 now names as the thing
this format avoids.
`add` and `install` now check declared prompt dependencies against the target
catalog and name any the catalog cannot satisfy, including the case where the
package is present but no version matches the selector:
```text
declared dependencies not in this catalog: practice/house-style@>= 0.1.0
— install them, or composition referencing them will not resolve
```
They do **not** fetch anything. § 10 leaves dependency resolution to the
consumer, and auto-installing transitively is a resolver, which is a different
decision from refusing to hand over a package that looks fine and is not.
`missing_dependencies` and `report_missing_dependencies` in
`reference/canned_prompts.py`; tests 81 → 84.
**Left open deliberately:** whether `install` should offer to fetch
dependencies (`--with-dependencies`) is a real design question, not a bug fix.
It wants its own decision rather than being smuggled in here.