The gate required two independent source implementations before draft promotion, which made one sentence do two jobs: whether the contract is specified well enough to implement against, which this repository can answer, and whether it survives implementers who did not write it, which it cannot. The second blocked the first, so the standard sat at draft — a word that reads as unfinished specification — when what was missing was adoption. Candidate now requires schema coverage of every form, one-command validation of an arbitrary source-owned declaration, a content-addressed bundle a source can pin to, separation of declaration from observation, and a documented external consumption path. All are met and were re-tested rather than assumed. Stable requires two source-owned declarations from independent owners pinned to a digest, an observer result from a third party, and a recorded incompatibility or a recorded absence of one — stricter than the sentence it replaces. Emission Cadence moves to candidate at document version 0.2.0. The wire contract is untouched at schema version 0.1, and no field, form or validation rule changes, so a producer conformant yesterday is conformant today. What was given up: candidate carries no interoperability evidence at all. The standard states that in its own section 10, naming that no consumer has implemented the contract and that its worked example is not a source-owned declaration. The gate now lives in the standard rather than only in SCOPE.md, so a reader meets it where the contract is. Recorded as INFO-DEC-2026-002 with the reasoning in history/. INFO-WP-0019 closes: all six tasks done. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 3588@bnt-lap001 Assistant-Session: 24b80f66-e5a7-4e61-99fe-2d422e6d17da
199 lines
8.5 KiB
Markdown
199 lines
8.5 KiB
Markdown
---
|
||
id: INFO-WP-0019
|
||
type: workplan
|
||
title: "Conformance, reproducible consumption, and maintenance"
|
||
domain: infotech
|
||
repo: info-tech-canon
|
||
status: finished
|
||
flavor: implementation
|
||
owner: codex
|
||
topic_slug: canon-optimization
|
||
created: "2026-09-05"
|
||
updated: "2026-09-09"
|
||
state_hub_workstream_id: "b29261ba-c1e4-5533-8185-ab2d5b433685"
|
||
---
|
||
|
||
# Conformance, reproducible consumption, and maintenance
|
||
|
||
Implements the optimization recommendations in
|
||
`history/2026-09-05_002437+0200-scope-against-intent.md`.
|
||
Reviewed against the current working tree; authorized by the operator on
|
||
2026-09-05. Uses the AGENTS.md INFO-WP file convention.
|
||
|
||
## Reusable conformance and coverage
|
||
|
||
```task
|
||
id: INFO-WP-0019-T01
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "abc0ed79-009f-5254-a2bf-4dcedd1925e9"
|
||
```
|
||
|
||
Extract shared schema validation and emission-cadence semantics into contract
|
||
modules. Expose arbitrary declaration validation and explicit coverage through
|
||
the CLI. Reject unsupported versions, malformed declarations, and duplicate
|
||
source IDs. Enforce explicit ownership conflicts. Preserve all existing tests.
|
||
|
||
## Reproducible contract bundle and adoption gate
|
||
|
||
```task
|
||
id: INFO-WP-0019-T02
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "1ec85dc5-5775-50b6-8066-ac839fd252c9"
|
||
```
|
||
|
||
Provide deterministic, content-addressed export of the cadence contract,
|
||
schema, and example; refuse overwriting different contents. Define owner-authored
|
||
adoption evidence requirements and keep draft promotion contingent on two
|
||
independent implementations. Local examples must not count as adoption evidence.
|
||
|
||
## Freshness and evidence
|
||
|
||
```task
|
||
id: INFO-WP-0019-T03
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "e4171772-50bf-58f6-9c87-8eddbef1caa5"
|
||
```
|
||
|
||
Add non-mutating generated-asset checks, reproducible scope inventory, and
|
||
revision/time/source-digest evidence on validation reports. Refresh work-record
|
||
projections via State Hub. Check stale and missing generated assets with tests.
|
||
|
||
## Portable consumption
|
||
|
||
```task
|
||
id: INFO-WP-0019-T04
|
||
status: done
|
||
priority: medium
|
||
state_hub_task_id: "e258d84d-d969-5032-baef-ae1060843319"
|
||
```
|
||
|
||
Remove hardcoded workstation dependency paths. Resolve an installed bench
|
||
distribution and an explicit external corpus root. Prove wheel installation
|
||
and commands from an unrelated directory. Document upstream packaging limits
|
||
without changing sibling repositories.
|
||
|
||
## Measure performance and verify implementation
|
||
|
||
```task
|
||
id: INFO-WP-0019-T05
|
||
status: done
|
||
priority: medium
|
||
state_hub_task_id: "09a585e8-4c67-5143-bc3a-ae47623547ea"
|
||
```
|
||
|
||
Measure repeated reads before deciding whether caching is justified. Run all
|
||
tests, canon/profile validation, generated freshness checks, and the clean
|
||
installation proof. Update SCOPE/README and record evidence. Avoid speculative
|
||
models or runtime expansion.
|
||
|
||
## Independent consumer adoption
|
||
|
||
```task
|
||
id: INFO-WP-0019-T06
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "b33aeb8c-ba7c-5094-9902-85565c1e721b"
|
||
```
|
||
|
||
Requires two source owners to provide independently implemented declarations
|
||
and consumer results pinned to the contract digest. This repo can validate
|
||
submitted evidence but cannot manufacture source ownership or deployed proof.
|
||
No external messages or consumer changes are authorized by this workplan.
|
||
Promotion remains blocked until that evidence arrives.
|
||
|
||
2026-09-09 recheck: the inbox contains an InterfaceCanon semantic-boundary
|
||
review request, and `feedback/` still contains only the two resource-control
|
||
capability reports. Neither supplies independent emission-cadence declarations
|
||
or the required pinned consumer results. T06 remains waiting; boundary review
|
||
is handled separately in INFO-WP-0026.
|
||
|
||
2026-09-20 recheck: no change in the evidence, and the gate is verified ready.
|
||
|
||
`feedback/` still holds only the two 2026-08-15 resource-control capability
|
||
reports. `incoming/` holds only its README. The inbox carries eleven messages,
|
||
the most recent a 2026-06-27 concept contribution from ops-warden; none is an
|
||
emission-cadence declaration. The only declaration in the repository remains
|
||
`standards/emission-cadence/examples/qonto-assistant.yaml`, which the standard
|
||
itself states is not the source-owned declaration and makes no claim about live
|
||
emission.
|
||
|
||
What this repository owes the gate is in place and was re-tested rather than
|
||
assumed. `emission-review` validates an arbitrary source-owned declaration
|
||
against the named schema and reports `operational_truth_assessed: false`, so a
|
||
submission cannot be mistaken for observed behaviour.
|
||
`export-emission-contract` produces a content-addressed bundle whose manifest
|
||
carries the gate in words — "Two independent source-owned implementations
|
||
required; example does not count" — at digest `972c0b6701d1693f`. A source owner
|
||
can pin to that digest today.
|
||
|
||
The blocker is therefore not readiness. It is that no external source owner has
|
||
been asked. The contract came from the King's Guard taxonomy and the evidence
|
||
classes remain owned by NetKingdom, which makes `netkingdom` the obvious first
|
||
source owner; a second must be independent of it. Asking them is an outward
|
||
action this workplan does not authorize, so T06 stays `wait` until the operator
|
||
decides whether to solicit declarations, and from whom.
|
||
|
||
### Result — 2026-09-21 (T06)
|
||
|
||
Closed by restating the gate rather than by evidence arriving, on the operator's
|
||
decision of 2026-09-21 after the third recheck found the evidence unchanged.
|
||
Recorded as INFO-DEC-2026-002, with the reasoning in
|
||
`history/2026-09-21_000846+0200-emission-cadence-promotion-gate.md`.
|
||
|
||
The gate as written — "two independent Emission Cadence source implementations"
|
||
before draft promotion — made one sentence do two jobs: whether the contract is
|
||
specified well enough to implement against, which this repository can answer,
|
||
and whether it survives implementers who did not write it, which it cannot. The
|
||
second blocked the first, so the standard sat at `draft`, a word that reads as
|
||
"unfinished specification", when what was missing was adoption.
|
||
|
||
The gate is now two levels, written into the standard as section 10 rather than
|
||
only into SCOPE.md. **Candidate** requires schema coverage of every form,
|
||
one-command validation of an arbitrary source-owned declaration, a
|
||
content-addressed bundle a source can pin to, separation of declaration from
|
||
observation, and a documented external consumption path — all met and re-tested.
|
||
**Stable** requires two source-owned declarations from independent owners
|
||
pinned to a digest, an observer result from a third party, and a recorded
|
||
incompatibility or recorded absence of one.
|
||
|
||
Emission Cadence moves to `candidate` at document version `0.2.0`. The wire
|
||
contract is untouched at schema version `0.1`; a producer conformant yesterday
|
||
is conformant today.
|
||
|
||
What was given up is stated in the decision record and worth repeating here:
|
||
`candidate` now carries no interoperability evidence at all. The mitigation is
|
||
that the standard says so in its own section 10, naming that no consumer has
|
||
implemented the contract and that its worked example is not a source-owned
|
||
declaration. The stable gate is stricter than the sentence it replaces, since
|
||
it adds the observer result and the incompatibility record.
|
||
|
||
## Implementation notes
|
||
|
||
T01–T04 implemented in `contracts.py`, `maintenance.py`, `paths.py`, CLI,
|
||
service integration, and `docs/canon-consumption.md`. Explicit mapping schema
|
||
bindings and ownership checks improve coverage without claiming exhaustive
|
||
semantic validation. The normal bench initializer imports unrelated database
|
||
integrations; installed-module discovery retains the narrow adapter. Clean
|
||
wheel consumption uses the documented explicit-dependency installation until
|
||
the upstream owner separates reference-data packaging.
|
||
|
||
Registration: State Hub workstream `b29261ba-c1e4-5533-8185-ab2d5b433685`.
|
||
The consistency tool reports an INFO-WP/ITC-WP prefix advisory: this plan follows
|
||
the explicit INFO-WP convention in AGENTS.md; existing plans and the registry
|
||
use ITC-WP. This naming inconsistency does not prevent registration.
|
||
|
||
## Verification — 2026-09-05
|
||
|
||
`make check`: 36 tests passed (22.42 seconds); all 77 generated assets current;
|
||
canon validation passed (76 artifacts, 315 relationships); Small-SaaS passed
|
||
(15 payloads). Installed-wheel inspect, validation, and emission review passed
|
||
from an unrelated directory with PYTHONPATH unset and a copied corpus.
|
||
Ten uncached inspections measured median 788.05 ms, maximum 1241.92 ms;
|
||
caching remains deferred pending a workload/latency requirement.
|
||
|
||
Local implementation T01–T05 is complete. Overall status is blocked only on
|
||
T06's independent owner evidence. See
|
||
`history/2026-09-05_optimization-implementation.md` for artifacts and limitations.
|