Adopt reviewed InterfaceCanon projection terminology
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a087d8-d22d-7d11-8169-bf22a729dff1
This commit is contained in:
parent
3db3e7e297
commit
84df076e95
4 changed files with 123 additions and 1 deletions
|
|
@ -27,6 +27,7 @@ Architecture:
|
||||||
- [Railiance app deployment guide](docs/RailianceAppDeploymentGuide.md) (`RMGR-WP-0006`)
|
- [Railiance app deployment guide](docs/RailianceAppDeploymentGuide.md) (`RMGR-WP-0006`)
|
||||||
- [Repository standards v0.1](docs/repository-standards_v0.1.md) (`RMGR-WP-0004`)
|
- [Repository standards v0.1](docs/repository-standards_v0.1.md) (`RMGR-WP-0004`)
|
||||||
- [Repository registers v0.1](docs/repository-registers_v0.1.md) (`RMGR-WP-0008`)
|
- [Repository registers v0.1](docs/repository-registers_v0.1.md) (`RMGR-WP-0008`)
|
||||||
|
- [InterfaceCanon consumer terminology](docs/interface-canon-statehub-consumer.md)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make install # or: uv pip install -e ".[dev]"
|
make install # or: uv pip install -e ".[dev]"
|
||||||
|
|
|
||||||
60
docs/interface-canon-statehub-consumer.md
Normal file
60
docs/interface-canon-statehub-consumer.md
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
# State Hub projection interface terminology
|
||||||
|
|
||||||
|
Status: accepted for Repo Manager documentation by codex on 2026-09-09.
|
||||||
|
Reviewed proposal: InterfaceCanon package
|
||||||
|
`6b33ac2388190207c4373e6f288922ce5c0b0413`,
|
||||||
|
`reviews/INTERFACE-WP-0004/repo-manager.patch`, against interface-model 0.1.1
|
||||||
|
(draft), revision `1fc82ec6655ed286cea3be284e33d08e7b27edc3`.
|
||||||
|
|
||||||
|
This adoption documents the existing State Hub synchronization interface. It
|
||||||
|
adds no runtime dependency and leaves the repository-authority and long-term
|
||||||
|
hub-core boundaries in [INTENT.md](../INTENT.md) unchanged. Acceptance applies
|
||||||
|
to this mapping only; it does not promote the draft canon or assert runtime
|
||||||
|
FIAM conformance.
|
||||||
|
|
||||||
|
| InterfaceCanon concept | Repo Manager usage |
|
||||||
|
| --- | --- |
|
||||||
|
| Required Port / Contract Participation | The client requires the repository projection reconciliation contract. Requires describes participation, not message direction. |
|
||||||
|
| Interface Contract | Reconcile a repository's work-record projection from its exact pushed Forge commit. |
|
||||||
|
| Operation | ReconcileRepositoryProjection. |
|
||||||
|
| Binding | JSON over the configured HTTP API base, with `Idempotency-Key` and `X-StateHub-Source-Agent` request headers. |
|
||||||
|
| Endpoint | API base plus POST `/repos/{slug}/work-record-projection/reconcile`. |
|
||||||
|
| Information Resource | The repository's persisted work-record projection in State Hub. |
|
||||||
|
| Resource Selector | Repository slug scoped within the State Hub repository registry. |
|
||||||
|
| Request Information Shape | `expected_commit` and `acknowledge_retirements`, default false. The provider validates a full 40-hex SHA and normalizes it to lowercase. |
|
||||||
|
| Response Information Shape | Provider receipt containing schema, instance identity, expected/derived commits, and outcome. The provider returns a dictionary without a dedicated response model. |
|
||||||
|
| Representation | JSON for request and receipt participation, distinct from the resource and shape. |
|
||||||
|
| Channel | This client establishes no separate exchange or mediation channel; its local pending file is an artifact. |
|
||||||
|
| Interaction Flow | Git and identifier preflight, followed by primary health verification and reconciliation POST. Git push is a prerequisite with a separate integration. |
|
||||||
|
|
||||||
|
The client checks the health response for role `primary` and, by default,
|
||||||
|
label `railiance01`. The provider independently checks its primary role and
|
||||||
|
compares the derived Forge commit with the expected commit before applying the
|
||||||
|
projection. The client reads the receipt's outcome; it does not independently
|
||||||
|
validate the full receipt schema or compare its commit fields. Sending the
|
||||||
|
idempotency header alone does not prove provider deduplication behavior.
|
||||||
|
|
||||||
|
Queued intent is pending local evidence, not successful provider execution.
|
||||||
|
TLS, HTTP-version, authentication, and gateway properties are not established
|
||||||
|
by this mapping.
|
||||||
|
|
||||||
|
## Review evidence
|
||||||
|
|
||||||
|
- Consumer: `src/repo_manager/projection_sync.py`, Repo Manager revision
|
||||||
|
`3db3e7e2976f916446cf2358686af37ce61f7fed`.
|
||||||
|
- Provider: `api/routers/work_record_projection.py` and
|
||||||
|
`api/schemas/work_record_projection.py`, State Hub revision
|
||||||
|
`ccb285fc40d66125e485723fda851bbf75b90d14`.
|
||||||
|
- Vocabulary: `infospace/models/interface/InterfaceCanonInterfaceModel.md`
|
||||||
|
at the pinned InterfaceCanon revision above. Later model 0.1.2 clarifies the
|
||||||
|
network-port distinction; this review retains the requested 0.1.1 pin.
|
||||||
|
- Existing tests in `tests/test_fast_work_records.py` exercise the actual
|
||||||
|
client with MockTransport and temporary Git remotes, including exact pushed
|
||||||
|
commit requests, dirty-source refusal, and queuing on the wrong instance.
|
||||||
|
Mock responses establish client behavior; provider behavior was reviewed
|
||||||
|
separately in the pinned source files.
|
||||||
|
|
||||||
|
Review disposition: accepted with the distinctions and implementation limits
|
||||||
|
above. The applying commit is discoverable with
|
||||||
|
`git log --diff-filter=A --format=%H -- docs/interface-canon-statehub-consumer.md`.
|
||||||
|
Tracked locally in RMGR-WP-0016 and externally in INTERFACE-WP-0004-T02.
|
||||||
|
|
@ -37,8 +37,19 @@ description: Before any new workplan is allocated under WHYNOT-WP, OPS-WP, or RE
|
||||||
finished/archived files remain frozen. Re-run rmgr prefix-uniqueness and identifier
|
finished/archived files remain frozen. Re-run rmgr prefix-uniqueness and identifier
|
||||||
preflight after assignment.
|
preflight after assignment.
|
||||||
created: '2026-08-21T20:34:42.177493+00:00'
|
created: '2026-08-21T20:34:42.177493+00:00'
|
||||||
updated: '2026-08-21T20:34:42.177493+00:00'
|
updated: '2026-09-09T20:42:09.617881Z'
|
||||||
state_hub_intake_id: "01a02611-a663-7712-bd4b-e39c13e7bf20"
|
state_hub_intake_id: "01a02611-a663-7712-bd4b-e39c13e7bf20"
|
||||||
|
notes:
|
||||||
|
- content: >-
|
||||||
|
2026-09-09 review: the registry already assigns WHYNOT-WP to whynot-design,
|
||||||
|
WNCTL-WP to whynot-control, OPS-WP to ops-hub, and BRIDGE-WP to ops-bridge.
|
||||||
|
Fleet prefix scan reports no sharing or reused identifiers for these
|
||||||
|
prefixes. However whynot-control/AGENTS.md still advertises WHYNOT-WP,
|
||||||
|
despite its WNCTL-WP workplan files. Align that repository's instructions
|
||||||
|
before its next allocation. REPO-WP remains unassigned in the registry. Current instructions advertise
|
||||||
|
CORE-WP for core-hub, DISCTL-WP for disaster-control, and REPO-WP for
|
||||||
|
repo-seed; finalize these registry assignments before reuse.
|
||||||
|
author: codex
|
||||||
```
|
```
|
||||||
|
|
||||||
## RMGR-IN-0003 — Scope normal sync identity validation to actionable records
|
## RMGR-IN-0003 — Scope normal sync identity validation to actionable records
|
||||||
|
|
|
||||||
50
workplans/RMGR-WP-0016-interface-canon-consumer-review.md
Normal file
50
workplans/RMGR-WP-0016-interface-canon-consumer-review.md
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
---
|
||||||
|
id: RMGR-WP-0016
|
||||||
|
type: workplan
|
||||||
|
title: "Review and adopt InterfaceCanon projection terminology"
|
||||||
|
domain: infotech
|
||||||
|
repo: repo-manager
|
||||||
|
status: finished
|
||||||
|
owner: codex
|
||||||
|
topic_slug: infotech
|
||||||
|
created: "2026-09-09"
|
||||||
|
updated: "2026-09-09"
|
||||||
|
state_hub_workstream_id: "90035068-b251-5fb3-945d-ab2f5f3b1a37"
|
||||||
|
---
|
||||||
|
|
||||||
|
Origin: InterfaceCanon review request f3c2e50c-0d66-4567-9ac3-c428d40fc333,
|
||||||
|
INTERFACE-WP-0004-T02. User continuation authorizes the repository review.
|
||||||
|
|
||||||
|
## Review the proposal against the implementation
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: RMGR-WP-0016-T01
|
||||||
|
status: done
|
||||||
|
priority: medium
|
||||||
|
state_hub_task_id: "ec407152-d5a6-5c85-b433-a78c9bd900d4"
|
||||||
|
```
|
||||||
|
|
||||||
|
Read the requested model 0.1.1 revision and proposal package, current client,
|
||||||
|
provider router/request schema, and client tests. Accept the documentation
|
||||||
|
mapping with separate participation, contract, binding, endpoint, resource,
|
||||||
|
and selector descriptions. Attribute SHA normalization to the provider and
|
||||||
|
state the client's limited receipt validation. No runtime changes.
|
||||||
|
|
||||||
|
## Publish the reviewed consumer documentation
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: RMGR-WP-0016-T02
|
||||||
|
status: done
|
||||||
|
priority: medium
|
||||||
|
state_hub_task_id: "08c20711-75ae-51be-90bb-33f2976eef4c"
|
||||||
|
```
|
||||||
|
|
||||||
|
Add docs/interface-canon-statehub-consumer.md and a README link. Record codex
|
||||||
|
as reviewer and exact model, proposal, consumer, and provider source revisions.
|
||||||
|
Run the existing client tests and synchronize the applying commit. External
|
||||||
|
acceptance aggregation remains with INTERFACE-WP-0004-T02; no message delivery
|
||||||
|
is claimed by this local review.
|
||||||
|
|
||||||
|
Validation: all seven existing fast-work-record client tests passed. Markdown
|
||||||
|
links and source pins checked; git diff --check passed. No implementation
|
||||||
|
residuals. External aggregation is already live in INTERFACE-WP-0004-T02.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue