info-tech-canon/workplans/ITC-WP-0016-practice-pattern-language.md
codex c6946ace72
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
fix(workplans): adopt ADR-007 derived identifiers for unregistered records
These workplans exist only in the retired local hub. Their random pre-ADR-007
identifiers are refused by C-06 as stale references, so they cannot be
registered. Deriving from the canonical record id takes no identity from
anything: central does not hold them and the old ids die with the cache.

Records central already holds were deliberately left untouched.

Refs CUST-WP-0068-T06

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 20:12:08 +02:00

105 lines
3.5 KiB
Markdown

---
id: ITC-WP-0016
type: workplan
title: "PracticePattern language and InterfaceDeprecationStrangler"
domain: infotech
topic_slug: canon
repo: info-tech-canon
status: finished
priority: high
created: "2026-08-21"
updated: "2026-08-21"
owner: codex
related:
- STATE-WP-0079
spec_refs:
- infospace/patterns/PracticePatternScheme.md
- infospace/patterns/InterfaceDeprecationStrangler.md
- infospace/schemas/practice-pattern.schema.yaml
- arc-nexus/README.md
state_hub_workstream_id: "333d0ab9-cd9d-54a1-94ee-719fec419c90"
---
# ITC-WP-0016 — PracticePattern language
## Goal
Give recurring operational and architectural practices a stable, speakable
pattern language in InfoTechCanon. Define a common Markdown scheme inspired by
Christopher Alexander's pattern-language method, seed it with the proven
`InterfaceDeprecationStrangler`, and record its adoption in `arc-nexus`.
## T01 — Define the PracticePattern scheme
```task
id: ITC-WP-0016-T01
status: done
priority: high
state_hub_task_id: "f0bdca33-246b-5796-bdda-0ab018a411fe"
```
Define the identity, lifecycle, required frontmatter, required problem/forces/
solution structure, evidence expectations, and relationship vocabulary for a
versioned PracticePattern Markdown artifact. Add a machine-readable schema and
canon validation for the contract.
## T02 — Document InterfaceDeprecationStrangler
```task
id: ITC-WP-0016-T02
status: done
priority: high
state_hub_task_id: "7b02cde0-3208-5f69-87c8-2b9ccc0cbde4"
```
Capture the reusable practice independently of State Hub: its context, forces,
solution, staged dynamics, invariants, retirement evidence, failure modes,
consequences, adoption checklist, and known use in State Hub.
## T03 — Publish retrieval and navigation assets
```task
id: ITC-WP-0016-T03
status: done
priority: medium
state_hub_task_id: "8aa4de40-27a8-5a73-8ead-5b9a7b9f595a"
```
Register the scheme and pattern in the artifact graph, schema catalog, pattern
index, generated views, and agent retrieval assets. Validate that agents can
retrieve the named practice without relying on the originating repository.
## T04 — Reference the pattern from arc-nexus
```task
id: ITC-WP-0016-T04
status: done
priority: medium
state_hub_task_id: "eb0c1da1-407a-5616-939d-6b4a6bf1a347"
```
State in `arc-nexus` that old architecture interfaces are phased out using the
canonical `InterfaceDeprecationStrangler` PracticePattern, including the canon
artifact ID and path and the local adoption expectations.
## Acceptance
- [x] PracticePattern Markdown artifacts have a documented and validated v0.1 scheme.
- [x] `InterfaceDeprecationStrangler` is a registered, retrieval-visible canon artifact.
- [x] The pattern distinguishes successful legacy traffic from attempted use of a retired interface.
- [x] `arc-nexus` names the pattern and states how it applies locally.
- [x] Canon validation and tests pass; both repositories are committed and synchronized.
## Result
Completed 2026-08-21. The canon now carries an Alexander-inspired
PracticePattern v0.1 Markdown scheme, a matching frontmatter schema and
structural validator, the active `InterfaceDeprecationStrangler` known use, and
generated graph, view, and agent-retrieval assets. `arc-nexus` adopted the
pattern by name and contract in commit `ff21e8a`.
## Out of scope
- Automatically instrumenting consumer repositories.
- Rewriting every pre-existing candidate pattern in this workplan.
- Standardizing protocol-specific deprecation headers beyond requiring explicit caller guidance.