Complete interface mapping review and Repo Manager consumer proof

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a087be-d842-7252-81be-2105c4279c87
This commit is contained in:
tegwick 2026-09-09 22:15:24 +02:00
parent dd6cdd7f83
commit b5aeeb940b
18 changed files with 357 additions and 28 deletions

View file

@ -5,12 +5,13 @@ the FIAM standard maintained in facetted-interfaces.
Like CommerceCanon for commercial terminology, this repository adds domain
semantics while importing shared concepts from InfoTechCanon. The initial model
is **draft 0.1.0**, based on **FIAM v0.2 Draft 6** and its frozen v0.2 Core.
is **draft 0.1.1**, based on **FIAM v0.2 Draft 6** and its frozen v0.2 Core.
- [Intent](INTENT.md) and [scope](SCOPE.md)
- [Canon manifest](canon.yaml) and [contribution rules](infospace/kernel/InterfaceCanonCore.md)
- [Interface model and terminology](infospace/models/interface/InterfaceCanonInterfaceModel.md)
- [Upstream mappings](infospace/mappings/upstream.md) and [source provenance](infospace/assimilation/fiam/README.md)
- [Mapping review](infospace/mappings/review-2026-09-09.md) and [Repo Manager consumer proof](infospace/examples/repo-manager-statehub.md)
- [Federation interface card](infospace/interfaces/federation.yaml)
- [Workplans](workplans/) and [agent workflow](AGENTS.md)

View file

@ -16,6 +16,8 @@
## Current state
Draft 0.1.0 derives its vocabulary from FIAM v0.2 Draft 6 and the frozen Core.
No local standard or runtime service is published. Source pins and unresolved
mapping boundaries are explicit. Follow-up review is tracked in INTERFACE-WP-0003.
Draft 0.1.1 derives its vocabulary from FIAM v0.2 Draft 6 and the frozen Core.
No local standard or runtime service is published. Source pins and reviewed
mapping boundaries are explicit. The initial mapping
and consumer-description review is complete; external acceptance and adoption
are tracked in INTERFACE-WP-0004.

View file

@ -10,13 +10,16 @@
| --- | --- | --- | --- | --- |
| workplan | INTERFACE-WP-0001 | finished | — | workplans/INTERFACE-WP-0001-statehub-bootstrap.md |
| workplan | INTERFACE-WP-0002 | finished | — | workplans/INTERFACE-WP-0002-canon-foundation.md |
| workplan | INTERFACE-WP-0003 | proposed | — | workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md |
| workplan | INTERFACE-WP-0003 | finished | — | workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md |
| workplan | INTERFACE-WP-0004 | proposed | — | workplans/INTERFACE-WP-0004-federation-acceptance.md |
| task | INTERFACE-WP-0001-T01 | done | — | workplans/INTERFACE-WP-0001-statehub-bootstrap.md |
| task | INTERFACE-WP-0001-T02 | done | — | workplans/INTERFACE-WP-0001-statehub-bootstrap.md |
| task | INTERFACE-WP-0001-T03 | done | — | workplans/INTERFACE-WP-0001-statehub-bootstrap.md |
| task | INTERFACE-WP-0002-T01 | done | — | workplans/INTERFACE-WP-0002-canon-foundation.md |
| task | INTERFACE-WP-0002-T02 | done | — | workplans/INTERFACE-WP-0002-canon-foundation.md |
| task | INTERFACE-WP-0002-T03 | done | — | workplans/INTERFACE-WP-0002-canon-foundation.md |
| task | INTERFACE-WP-0003-T01 | todo | — | workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md |
| task | INTERFACE-WP-0003-T02 | todo | — | workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md |
| task | INTERFACE-WP-0003-T03 | todo | — | workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md |
| task | INTERFACE-WP-0003-T01 | done | — | workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md |
| task | INTERFACE-WP-0003-T02 | done | — | workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md |
| task | INTERFACE-WP-0003-T03 | done | — | workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md |
| task | INTERFACE-WP-0004-T01 | todo | — | workplans/INTERFACE-WP-0004-federation-acceptance.md |
| task | INTERFACE-WP-0004-T02 | todo | — | workplans/INTERFACE-WP-0004-federation-acceptance.md |

View file

@ -1,7 +1,7 @@
repository: interface-canon
title: InterfaceCanon
status: draft
version: 0.1.0
version: 0.1.1
description: Interface-domain semantics extending InfoTechCanon and derived from FIAM.
layout:
layout_family: kernel-models-standards
@ -20,10 +20,10 @@ models:
title: InterfaceCanon Interface Model
path: infospace/models/interface/InterfaceCanonInterfaceModel.md
status: draft
version: 0.1.0
version: 0.1.1
standards: []
interface_cards:
- id: interface-canon/federation-interface
path: infospace/interfaces/federation.yaml
status: draft
version: 0.1.0
version: 0.1.1

View file

@ -0,0 +1,56 @@
# Consumer proof: Repo Manager → Statehub
Consumer: `repo-manager`, function `sync_repository_projection` in
`src/repo_manager/projection_sync.py`. Provider: `state-hub`, router
`api/routers/work_record_projection.py`. Exact revisions and hashes are retained
in the [consumer source manifest](../reviews/2026-09-09/repo-manager-sources.json)
and [provider source manifest](../reviews/2026-09-09/state-hub-sources.json).
This is a source-based application of InterfaceCanon to an existing integration.
It proves that the vocabulary can describe the consumer; it does not assert that
Repo Manager has adopted this canon or published a reciprocal card.
| Concept | Concrete interpretation | Source evidence |
| --- | --- | --- |
| System nodes | Repo Manager client and primary Statehub API | Consumer client construction and provider primary-role check. |
| Ports / participations | Client requires repository-projection contract; Statehub offers it | Client POST and matching provider router. These are semantic ports, not TCP port numbers. |
| Interface Contract | Reconcile a repository's work-record projection from an exact pushed Forge commit | Provider compares derived commit with expected_commit before reset. |
| Operation | ReconcileRepositoryProjection | POST `/repos/{slug}/work-record-projection/reconcile`. HTTP method/path realizes the semantic operation. |
| Binding | JSON over the configured HTTP API base with idempotency and source-agent headers | `httpx.Client`, `json=`, `Idempotency-Key`, `X-StateHub-Source-Agent`. No HTTP version or TLS property is inferred. |
| Endpoint | Configured API locator plus reconciliation route; local example `http://127.0.0.1:8000/repos/interface-canon/work-record-projection/reconcile` | `api_base` and the interpolated route. Loopback is host-relative; deployment routing is unknown from this code. |
| Channel | No separate exchange/mediation locus established by this direct API exchange | No broker/topic declared in this consumer. A pending JSON file is not evidence of a messaging Channel. |
| Information Resource | Statehub's derived work-record projection for the repository selected by slug | `reset_repository_projection` and the snapshot route. The projected state persists independently of one interaction. |
| Resource Selector | Repository slug, scoped within the Statehub repository registry | Router `slug` parameter. Its presence in an HTTP path does not make the resource identical to its endpoint. |
| Request Information Shape | Expected commit and retirement acknowledgement | `RepositoryProjectionReconcile`: 40-hex SHA, normalized to lowercase, acknowledgement defaults false. |
| Response Information Shape | Reconciliation receipt with schema, instance identity, expected/derived commits, outcome | Provider's returned dictionary. Response lacks a dedicated Pydantic response model; do not invent one. |
| Representation | JSON for the request/receipt participation | `json=` and `response.json()`. JSON is neither the projection resource nor its semantic shape. |
| Artifacts | Client source, router source, and Pydantic request schema source | Describing/implementing artifacts pinned independently of their modeled contract and shapes. |
| Interaction Flow | Verify primary health, then request reconciliation | GET `/state/health` precedes the POST. Git push is a prerequisite with its own integration, not part of the HTTP binding. |
| Interaction outcome | Applied/noop, queued locally, rejected, or unavailable | Consumer branches on role/network errors and receipt outcome. Queued is pending intent, not a successful provider interaction. |
## Verification and limits
The existing consumer test
`tests/test_fast_work_records.py::test_sync_uses_two_requests_and_exact_pushed_commit`
executes the actual client with MockTransport and a temporary Git remote. It
checks the health→reconcile path sequence, use of the pushed commit, and applied
result. The test ran successfully during this review. The provider route and
request shape were also read at the pinned revisions; mock success alone would
not establish provider behavior.
Boundary acceptance cases:
- The URL and repository projection refer to different concepts: Binding locator
versus persistent projected resource.
- A pending file is an artifact of a deferred request; it supplies no broker,
topic, or delivery-semantics evidence from which to infer a Channel.
- JSON describes encoding; the request constraint requires a 40-hex commit.
- A mocked applied result validates the client flow; production application is
evidenced separately by the actual Statehub sync receipt at session close.
- Missing TLS/HTTP-version/gateway facts remain unknown. They do not require new
Core entities or a fabricated exact communication stack.
Unresolved implementation detail: the response shape is implied by provider code
rather than a dedicated response schema. That limits machine contract checking,
not the ability to model the exchange. No provider change is required by this
review. Consumer adoption and reciprocal acceptance are tracked in INTERFACE-WP-0004.

View file

@ -3,7 +3,7 @@ title: InterfaceCanon Federation Interface Card
consumer: interface-canon
canon_surfaces: [interface-model]
status: draft
version: 0.1.0
version: 0.1.1
owner: interface-canon
schema_source:
repository: info-tech-canon
@ -23,7 +23,7 @@ exports:
availability: referenceable for review; adoption not asserted
imports:
- repository: info-tech-canon
artifacts: [itc-land, itc-ident, itc-evid, itc-gov]
artifacts: [itc-land, itc-ident, itc-evid, itc-gov, itc-data, itc-infospace, itc-net]
manifest: infospace/models/interface/imports.json
- repository: facetted-interfaces
artifact: FIAM v0.2 Draft 6
@ -37,4 +37,4 @@ known_deviations:
- Evidence records require an explicit assertion/source mapping, not a direct alias.
expectations:
- Review source changes and retain commit and content-hash provenance.
- Complete INTERFACE-WP-0003 before stable promotion.
- Initial mapping and consumer-description review is complete in INTERFACE-WP-0003; external acceptance and adoption remain INTERFACE-WP-0004.

View file

@ -0,0 +1,37 @@
# Shared-concept review — 2026-09-09
Workplan: INTERFACE-WP-0003. Review scope: the initial model's structural terms
and its explicit shared-root collisions. The [import manifest](../models/interface/imports.json)
pins the reviewed InfoTechCanon models; existing four source hashes are unchanged.
This review expands the mapping set with Data, Information Space, and Network.
It records local semantic dispositions, not an upstream ownership transfer.
| Local/FIAM usage | Reviewed source section | Disposition and counterexample |
| --- | --- | --- |
| Interface Contract | ITC-LAND §13.2 Interface seed | Related specialization of interface architecture. A network attachment called Interface does not imply a semantic operation contract. |
| Port | ITC-NET §§11.26–11.27 Interface/Port | Distinct concepts. FIAM Port participates in a contract; TCP port 8000 is a transport selector. Never equate them by spelling. |
| Endpoint | ITC-LAND §13.2; ITC-NET §11.45 | FIAM-qualified locator of a Binding. A network ServiceEndpoint can realize that locator, but not all FIAM bindings are network-based. |
| Information Resource | ITC-DATA §§8.1–8.2, 11.4, 11.8–11.9 | Related to Dataset/DataObject/Record by modeled scope. A dataset is a coherent managed unit; FIAM also covers a resource selection or state locus. No universal subtype or exact-equivalence claim. |
| Information Shape | ITC-DATA §§8.3, 11.15–11.16 | Related to DataType/Constraint. Shape carries admissible semantic/structural form; a schema artifact describes details. A type name alone does not establish shape identity. |
| Representation | ITC-DATA §11.14 | FIAM specializes encoding/notation selected for shape participation. Data Representation also covers value-level forms such as integer or date. JSON does not establish a field's semantic type. |
| Artifact | ITC-INFOSPACE §11.8 KnowledgeArtifact | A schema or interface document carrying reusable knowledge qualifies as KnowledgeArtifact. A FIAM Artifact can also implement a contract, so no blanket equivalence. |
| Source provenance | ITC-INFOSPACE §§11.30–11.31; ITC-EVID §2 | Import Citation/SourceReference and Evidence Source. A Git blob is a source container; the claim extracted from it is separate Evidence. |
| Assertion / evidenceRecord | ITC-GOV Assertion; ITC-EVID §§1–2 | FIAM property/relation assertion specializes architectural assertions. Its evidenceRecord supplies support metadata; model the ITC assertion, question, and source separately rather than renaming the record. |
| Identity correspondence | ITC-IDENT Synonymity Assertion; FIAM Draft 1 decision 7 | Similarity is a correspondence candidate; governed identity and non-destructive equivalence remain separate. |
| Participant / SystemNode | ITC-LAND §13.2 SoftwareSystem/SoftwareComponent | Context-dependent alignment. A logical system, deployed process, and Actor must not collapse solely because a name is shared. |
| Zone, security profile, Policy, Lens | FIAM Draft 6 §§1, 6–7; ITC-GOV Policy/Decision | Contextual qualifiers and policy-derived interpretations. No new local owner for generic networking, security, policy, or decisions. |
The reviewed Data document includes Schema/SchemaVersion in its taxonomy, but
this review does not invent a fully authored Schema definition or import it as an
exact InformationShape alias. The narrower authored DataType/Constraint meanings
are sufficient to explain the boundary.
Remaining structural terms—Contract Participation, Operation, Binding, Channel,
Interaction, Interaction Flow, Resource Selector, and Facet—retain their pinned
FIAM-derived definitions. This review finds no reason to add a protocol-specific
Core entity. Resource/shape details remain in describing artifacts.
Result: local mapping review complete; all collisions above have explicit
qualified meanings. The [Repo Manager consumer case](../examples/repo-manager-statehub.md)
exercises these distinctions. Publication remains draft for the reasons in the
[federation review](../reviews/2026-09-09/federation-review.md).

View file

@ -25,6 +25,11 @@ Facet, Representation, and Lens receive FIAM-derived interface-domain definition
Names that overlap other ITC models remain qualified as `interface-model:*`;
this initial import set is not an exhaustive federation ownership audit.
INTERFACE-WP-0003 tracks review of these boundaries, including Information
Resource/Shape against ITC-DATA and Artifact against Information Space. Keep
publication draft until that review and a concrete consumer proof are complete.
The [2026-09-09 review](review-2026-09-09.md) resolves local usage boundaries
against ITC-DATA, ITC-INFOSPACE, and ITC-NET. FIAM Port differs from network Port;
Information Resource/Shape and Representation have scoped mappings to Data;
describing artifacts may qualify as KnowledgeArtifact. These are qualified
mappings, not automatic equivalence or ownership transfers.
The initial review is complete. External federation acceptance and evidence of
consumer adoption remain in INTERFACE-WP-0004; publication stays draft.

View file

@ -4,8 +4,8 @@ title: InterfaceCanon Interface Model
namespace: interface-model
type: domain-model
status: draft
version: 0.1.0
imports: [itc-land, itc-ident, itc-evid, itc-gov]
version: 0.1.1
imports: [itc-land, itc-ident, itc-evid, itc-gov, itc-data, itc-infospace, itc-net]
import_manifest: imports.json
source_manifest: ../../assimilation/fiam/sources.json
---
@ -26,7 +26,8 @@ in the [pinned FIAM package](../../assimilation/fiam/README.md).
An owned architectural participation point through which a participant or system node offers or requires a particular interface contract.
An offer/require mode is contract participation, not message direction.
An offer/require mode is contract participation, not message direction. This Port
is distinct from ITC-NET Port: TCP port 8000 is a transport selector.
Source: `#/$defs/port`. Local identifier: `interface-model:port`.
@ -106,7 +107,8 @@ Source: `#/$defs/informationResource`. Local identifier: `interface-model:inform
An identifiable semantic or structural type or constraint set describing an admissible information form.
A shape is distinct from an instance, a schema artifact, and JSON or another concrete encoding. Detailed fields remain in describing artifacts.
A shape is distinct from an instance, a schema artifact, and JSON or another concrete encoding. Detailed fields remain in describing artifacts. ITC-DATA DataType
and Constraint supply related shared meanings; neither is an automatic shape alias.
Source: `#/$defs/informationShape`. Local identifier: `interface-model:informationShape`.
@ -164,5 +166,6 @@ FIAM remains authoritative for exact validation requirements.
| Telemetry contains no authentication attributes | Unknown runtime authentication evidence; no inferred absence of protection. |
These are explanatory cases derived from the pinned source, not executable FIAM
fixtures or evidence of consumer adoption. Cross-canon review and a consumer proof
are tracked in INTERFACE-WP-0003.
fixtures or evidence of consumer adoption. The [mapping review](../../mappings/review-2026-09-09.md) and
[Repo Manager case](../../examples/repo-manager-statehub.md) complete the initial
review. External acceptance and adoption remain in INTERFACE-WP-0004.

View file

@ -44,6 +44,49 @@
"Policy",
"Decision"
]
},
{
"model": "itc-data",
"path": "infospace/models/data/InfoTechCanonDataModel.md",
"sha256": "cffbbde50808719adb73c6d6c642da8d0122bdfb3e9b6aaa6bc852330089afe3",
"concepts": [
"Dataset",
"DataObject",
"Record",
"Representation",
"DataType",
"Constraint"
],
"usage": "shared concepts referenced for mapping; no asserted equivalence"
},
{
"model": "itc-infospace",
"path": "infospace/models/information-space/InfoTechCanonInformationSpaceModel.md",
"sha256": "ab48a679b8588b654b12687c5248a292aab13c11fe2005e060b185c551539e10",
"concepts": [
"KnowledgeArtifact",
"SourceReference",
"Citation"
],
"usage": "shared concepts referenced for mapping; no asserted equivalence"
},
{
"model": "itc-net",
"path": "infospace/models/network/InfoTechCanonNetworkModel.md",
"sha256": "3ee5ed5e0423389320a0ccf86cd6b5dc55e0c1b4562b00e101d158cff6bd43c8",
"concepts": [
"Interface",
"Port",
"Endpoint"
],
"usage": "shared concepts referenced for mapping; no asserted equivalence"
}
]
],
"review": {
"date": "2026-09-09",
"workplan": "INTERFACE-WP-0003",
"record": "../../mappings/review-2026-09-09.md",
"previous_manifest_commit": "dd6cdd7f83f881d7f94795b58351bbd06a056990",
"result": "existing four imports unchanged; data, information-space, and network boundaries added"
}
}

View file

@ -0,0 +1,12 @@
{
"schema_version": 1,
"source_repository": "commerce-canon",
"source_commit": "2e230e7d3e163d925f040d49143426a7e622aca6",
"sources": [
{
"path": "infospace/interfaces/federation.yaml",
"sha256": "d739293f20334f74af5925be35f028e0df8a7243f95d5c4512233257621ecac5"
}
],
"review_workplan": "INTERFACE-WP-0003"
}

View file

@ -0,0 +1,28 @@
# Federation and publication review — 2026-09-09
Workplan: INTERFACE-WP-0003. Sources: the pinned
[InfoTechCanon card/schema](info-tech-canon-sources.json),
[CommerceCanon card](commerce-canon-sources.json), and
[federation ownership ledger](prj-canon-federation-sources.json).
| Surface | Finding | Disposition |
| --- | --- | --- |
| InterfaceCanon card | Imports shared roots and FIAM; exports one draft interface model | Expand imports with reviewed Data, Information Space, and Network mappings; retain draft. |
| InfoTechCanon card | Names CommerceCanon and Custodian peers; no interface-canon peer or import | No reciprocal acknowledgement can be claimed. Existing card scope is the earlier federation project, not a complete inventory. |
| CommerceCanon card | Demonstrates focused domain exports and shared imports; no interface-canon relationship | Structural precedent only. Commercial imports are unnecessary for this interface model. |
| facetted-interfaces | No federation-named card found in the inspected Git tree | The FIAM source pin establishes derivation, not reciprocal acceptance. |
| Ownership ledger | Neither interface-canon nor facetted-interfaces is assigned in the reviewed ledger | Local review cannot silently extend accepted federation ownership. |
| Consumer proof | Existing Repo Manager/Statehub exchange is expressible with current vocabulary | Source-based application is established; consumer-owned adoption evidence is absent. |
Decision: retain draft, update model/card patch version to 0.1.1 for reviewed
mapping clarifications, and keep upstream authority intact. No protocol-specific
Core entities or new shared roots are needed. Completing this review is not a
stable-publication gate by itself.
The bounded review is complete. INTERFACE-WP-0004 carries the remaining external
acceptance and adoption work. No peer repository was modified and no coordination
message was sent as part of this review.
FIAM tree inspection: commit `135326756913363b098bcdee791628b5e864b8be`, command
`git ls-tree -r --name-only HEAD`, no path containing `federation`.
This is a filename-scoped absence check, not proof that no other contract exists.

View file

@ -0,0 +1,16 @@
{
"schema_version": 1,
"source_repository": "info-tech-canon",
"source_commit": "8eb1c83f2e119de57e7ad448b901381f8e92fb57",
"sources": [
{
"path": "infospace/interfaces/federation.yaml",
"sha256": "03212a70b5f74b92063e3a02130d8dcb7d6803ffa337967baf5bcf80632ab4cd"
},
{
"path": "infospace/schemas/interface-card.schema.yaml",
"sha256": "39c5091144d1671d0a80f55d12fb67844c7eeba9e0baa3f40ef56972e58e6517"
}
],
"review_workplan": "INTERFACE-WP-0003"
}

View file

@ -0,0 +1,12 @@
{
"schema_version": 1,
"source_repository": "prj-canon-federation",
"source_commit": "c5ad4499d7a160da65e7b39e88fe48231989f118",
"sources": [
{
"path": "ledger/concept-ownership.json",
"sha256": "7bc8d78a66ecad2987f1f0a68207b54db28578b91243bc097313ac7e830fc086"
}
],
"review_workplan": "INTERFACE-WP-0003"
}

View file

@ -0,0 +1,16 @@
{
"schema_version": 1,
"source_repository": "repo-manager",
"source_commit": "5ad49dd79e0ebc2f46bf5df68d2c1a079dc358c7",
"sources": [
{
"path": "src/repo_manager/projection_sync.py",
"sha256": "93104c2be8c88b0447c40d0d4f4883d15a8f2481d8787499b249685bb38604c7"
},
{
"path": "tests/test_fast_work_records.py",
"sha256": "f96869966e37b4ec1f707566f46589d482ccd278dbe23396ed286725f9e96f57"
}
],
"review_workplan": "INTERFACE-WP-0003"
}

View file

@ -0,0 +1,16 @@
{
"schema_version": 1,
"source_repository": "state-hub",
"source_commit": "ccb285fc40d66125e485723fda851bbf75b90d14",
"sources": [
{
"path": "api/routers/work_record_projection.py",
"sha256": "62eefa42d747bd329f2f342545f0a4f20aac00f51d417183693fc1bf9720518f"
},
{
"path": "api/schemas/work_record_projection.py",
"sha256": "474a2f62178eb7a908be53974d8aa40f6569a282cd1a0aef37054aebf131afb1"
}
],
"review_workplan": "INTERFACE-WP-0003"
}

View file

@ -4,7 +4,7 @@ type: workplan
title: "Review shared concept mappings and consumer proof"
domain: infotech
repo: interface-canon
status: proposed
status: finished
owner: codex
topic_slug: canon
created: "2026-09-09"
@ -20,7 +20,7 @@ Residual of INTERFACE-WP-0002. The bootstrap publishes a draft; stable promotion
```task
id: INTERFACE-WP-0003-T01
status: todo
status: done
priority: medium
state_hub_task_id: "83013d74-c00a-592d-b16c-649c53033454"
```
@ -30,7 +30,7 @@ Review the model, mappings, canon manifest, and pinned source records.
```task
id: INTERFACE-WP-0003-T02
status: todo
status: done
priority: medium
state_hub_task_id: "f1eb54bc-5f39-55a0-aa9e-1501c03b4055"
```
@ -40,9 +40,41 @@ Record a concrete consumer, its interpretation of contract/binding/channel/resou
```task
id: INTERFACE-WP-0003-T03
status: todo
status: done
priority: medium
state_hub_task_id: "c68b5576-8e69-5570-922a-32e2874b06ea"
```
Validate metadata and provenance; retain draft status until mapping and adoption evidence support promotion.
## Execution scope and acceptance
Owner: codex. Authorized by the repository owner's request to execute the first
unfinished workplan on 2026-09-09. Reviewed against repository commit dd6cdd7.
Dependencies: existing sibling source checkouts; no hard blockers for local review.
Complete when shared-term collisions have explicit dispositions and pinned
sources, one real consumer interaction is described and checked against its
implementation, and reciprocal-card/publication findings are recorded. This plan
reviews external adoption; it does not require adoption to occur or authorize
changes in peer repositories. Any remaining acceptance work becomes a live record.
Validation: make check-sources, card schema validation, and the named consumer's
existing focused contract test. Local documentation changes are reversible.
## Completion evidence — 2026-09-09
- T01: [shared-concept review](../infospace/mappings/review-2026-09-09.md)
and expanded, pinned imports distinguish network Port, resource/shape, Data
Representation, and KnowledgeArtifact boundaries.
- T02: [Repo Manager consumer proof](../infospace/examples/repo-manager-statehub.md)
describes the actual Statehub client/provider exchange. Existing focused client
test passed (1 test); provider route and request schema reviewed at pinned commits.
- T03: [federation/publication review](../infospace/reviews/2026-09-09/federation-review.md)
records card and ownership-ledger findings. Model and card stay draft 0.1.1.
- `make check-sources` passed. All local YAML parsed, the card passed the pinned
upstream JSON Schema, and card/import/version consistency checks passed.
- `git diff --check` passed.
Residuals are live in [INTERFACE-WP-0004](INTERFACE-WP-0004-federation-acceptance.md):
external boundary acceptance and consumer-owned adoption. These are prerequisites
for stable promotion, not unfinished portions of this bounded local review.

View file

@ -0,0 +1,47 @@
---
id: INTERFACE-WP-0004
type: workplan
title: "Establish external federation acceptance and consumer adoption"
domain: infotech
repo: interface-canon
status: proposed
owner: codex
topic_slug: canon
origin: residual
origin_ref: INTERFACE-WP-0003
created: "2026-09-09"
updated: "2026-09-09"
---
# Establish external federation acceptance and consumer adoption
The local mapping review and source-based consumer proof are complete. Stable
promotion requires externally evidenced acceptance and adoption. This proposed
plan records the remaining work without claiming control over peer backlogs.
## Obtain upstream boundary acceptance
```task
id: INTERFACE-WP-0004-T01
status: todo
priority: medium
```
Prepare peer-review material from the mapping and federation reviews. Record
acceptance or requested corrections from the relevant owners and determine whether
reciprocal cards or ownership-ledger entries are appropriate. Dependencies:
peer review and authorization for any external coordination or peer changes.
Done when accepted boundaries and their source records are recorded.
## Record consumer-owned adoption and assess promotion
```task
id: INTERFACE-WP-0004-T02
status: todo
priority: medium
```
Use the Repo Manager example as review material; obtain a consumer-owned reference
or another concrete adoption record. Reassess model/card status against both tasks'
evidence and document the outcome. A local worked example alone is insufficient.
Validation: source pins, federation schema, and named acceptance/adoption evidence.