fix(workplans): qualify ad-hoc identifiers with the repository prefix
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

`ADHOC-YYYY-MM-DD` is unique per date but not per repository, so any two repos
opening an ad-hoc on the same day collide. The 2026-08-26 fleet projection
reset refused 9 records for exactly this reason.

Canon (work-record-types_v0.1, CUST-WP-0066) settled the form as
`{PREFIX}-WP-ADHOC-YYYY-MM-DD`, filename unchanged, and grandfathered existing
ids on the condition they are never *silently* re-derived. This is the explicit
migration that clause allows for.

The hub id is derived from the record id, so a changed id is a different
record: stale state_hub_*_id fields are dropped and fix-consistency re-derives.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
This commit is contained in:
tegwick 2026-08-28 00:28:23 +02:00
parent 8bb446c1fa
commit 00560945f8

View file

@ -1,5 +1,5 @@
---
id: ADHOC-2026-06-02
id: LLM-WP-ADHOC-2026-06-02
type: workplan
title: "Ad hoc — llm-connect lessons from CUST-WP-0045 canary"
domain: custodian
@ -9,10 +9,9 @@ owner: custodian
topic_slug: custodian
created: "2026-06-02"
updated: "2026-06-03"
state_hub_workstream_id: "1c936c91-79c7-427d-ab37-9052e8a61cda"
---
# ADHOC-2026-06-02 — llm-connect lessons from CUST-WP-0045 canary
# LLM-WP-ADHOC-2026-06-02 — llm-connect lessons from CUST-WP-0045 canary
Captured at the close of CUST-WP-0045 T06. The daily-triage canary uncovered
a sequence of bugs that took the better part of a day to diagnose, mostly
@ -37,10 +36,9 @@ workplan.
### T01 - Debug envelope mode for /execute responses
```task
id: ADHOC-2026-06-02-T01
id: LLM-WP-ADHOC-2026-06-02-T01
status: done
priority: medium
state_hub_task_id: "69626e9e-29f1-40f6-8cd2-d38a7e802293"
```
When the `LLM_CONNECT_DEBUG=1` env var is set (or `?debug=1` is added to the
@ -77,10 +75,9 @@ debug field is omitted in normal mode.
### T02 - Replace stdlib HTTPServer with ThreadingHTTPServer
```task
id: ADHOC-2026-06-02-T02
id: LLM-WP-ADHOC-2026-06-02-T02
status: done
priority: low
state_hub_task_id: "e2b1be30-71f7-4497-9b10-b0f24d37beba"
```
`llm_connect/server.py` uses `http.server.HTTPServer`, which is single-threaded.
@ -100,10 +97,9 @@ max of their individual latencies, not the sum.
### T03 - Per-call audit log for replay
```task
id: ADHOC-2026-06-02-T03
id: LLM-WP-ADHOC-2026-06-02-T03
status: done
priority: medium
state_hub_task_id: "da4821f0-a876-44ce-9dc3-f3fc67732d0f"
```
When `LLM_CONNECT_AUDIT_DIR=/path` is set, record every `/execute` call as a
@ -126,10 +122,9 @@ ergonomics.
### T04 - Apply param-translation contract to OpenAI and Gemini adapters
```task
id: ADHOC-2026-06-02-T04
id: LLM-WP-ADHOC-2026-06-02-T04
status: done
priority: medium
state_hub_task_id: "f8a033e6-22ac-4700-b8d2-43a5d76a3751"
```
Today's `cd4551c` added a `_merge_model_params` helper in the OpenRouter
@ -154,10 +149,9 @@ forbidden top-level fields, schema in the right wrapper).
### T05 - Provider-agnostic structured-output smoke test in CI
```task
id: ADHOC-2026-06-02-T05
id: LLM-WP-ADHOC-2026-06-02-T05
status: done
priority: medium
state_hub_task_id: "5d53dbb4-b374-45fe-b81c-ff0b222ca74f"
```
CI today does not exercise the round-trip from `model_params.json_schema`
@ -187,10 +181,9 @@ bug) before either was merged.
### T06 - Document required model_params translation in adapter README
```task
id: ADHOC-2026-06-02-T06
id: LLM-WP-ADHOC-2026-06-02-T06
status: done
priority: low
state_hub_task_id: "33fcb951-d7ab-4d3c-8d67-9eebd986c711"
```
Adapter authors and callers both need to know: