diff --git a/README.md b/README.md index 792b60d..14ee1ca 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/SCOPE.md b/SCOPE.md index d90c4c2..884c26b 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -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. diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index 7c4e485..0d3abf6 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -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 | diff --git a/canon.yaml b/canon.yaml index 3f29cdc..720e2b3 100644 --- a/canon.yaml +++ b/canon.yaml @@ -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 diff --git a/infospace/examples/repo-manager-statehub.md b/infospace/examples/repo-manager-statehub.md new file mode 100644 index 0000000..e75419e --- /dev/null +++ b/infospace/examples/repo-manager-statehub.md @@ -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. diff --git a/infospace/interfaces/federation.yaml b/infospace/interfaces/federation.yaml index ffd4133..b1e6c3b 100644 --- a/infospace/interfaces/federation.yaml +++ b/infospace/interfaces/federation.yaml @@ -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. diff --git a/infospace/mappings/review-2026-09-09.md b/infospace/mappings/review-2026-09-09.md new file mode 100644 index 0000000..2195902 --- /dev/null +++ b/infospace/mappings/review-2026-09-09.md @@ -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). diff --git a/infospace/mappings/upstream.md b/infospace/mappings/upstream.md index 9d621c8..7ace946 100644 --- a/infospace/mappings/upstream.md +++ b/infospace/mappings/upstream.md @@ -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. diff --git a/infospace/models/interface/InterfaceCanonInterfaceModel.md b/infospace/models/interface/InterfaceCanonInterfaceModel.md index d9861d6..c519a13 100644 --- a/infospace/models/interface/InterfaceCanonInterfaceModel.md +++ b/infospace/models/interface/InterfaceCanonInterfaceModel.md @@ -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. diff --git a/infospace/models/interface/imports.json b/infospace/models/interface/imports.json index 06f658f..948d5ec 100644 --- a/infospace/models/interface/imports.json +++ b/infospace/models/interface/imports.json @@ -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" + } } diff --git a/infospace/reviews/2026-09-09/commerce-canon-sources.json b/infospace/reviews/2026-09-09/commerce-canon-sources.json new file mode 100644 index 0000000..175b7e6 --- /dev/null +++ b/infospace/reviews/2026-09-09/commerce-canon-sources.json @@ -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" +} diff --git a/infospace/reviews/2026-09-09/federation-review.md b/infospace/reviews/2026-09-09/federation-review.md new file mode 100644 index 0000000..58880c0 --- /dev/null +++ b/infospace/reviews/2026-09-09/federation-review.md @@ -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. diff --git a/infospace/reviews/2026-09-09/info-tech-canon-sources.json b/infospace/reviews/2026-09-09/info-tech-canon-sources.json new file mode 100644 index 0000000..69008e0 --- /dev/null +++ b/infospace/reviews/2026-09-09/info-tech-canon-sources.json @@ -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" +} diff --git a/infospace/reviews/2026-09-09/prj-canon-federation-sources.json b/infospace/reviews/2026-09-09/prj-canon-federation-sources.json new file mode 100644 index 0000000..aa90788 --- /dev/null +++ b/infospace/reviews/2026-09-09/prj-canon-federation-sources.json @@ -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" +} diff --git a/infospace/reviews/2026-09-09/repo-manager-sources.json b/infospace/reviews/2026-09-09/repo-manager-sources.json new file mode 100644 index 0000000..b51a70b --- /dev/null +++ b/infospace/reviews/2026-09-09/repo-manager-sources.json @@ -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" +} diff --git a/infospace/reviews/2026-09-09/state-hub-sources.json b/infospace/reviews/2026-09-09/state-hub-sources.json new file mode 100644 index 0000000..329db6d --- /dev/null +++ b/infospace/reviews/2026-09-09/state-hub-sources.json @@ -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" +} diff --git a/workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md b/workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md index 877d4af..42eebda 100644 --- a/workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md +++ b/workplans/INTERFACE-WP-0003-mapping-and-consumer-review.md @@ -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. diff --git a/workplans/INTERFACE-WP-0004-federation-acceptance.md b/workplans/INTERFACE-WP-0004-federation-acceptance.md new file mode 100644 index 0000000..220bc86 --- /dev/null +++ b/workplans/INTERFACE-WP-0004-federation-acceptance.md @@ -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.