docs(arch): resolve OQ-050 — include docker/system/events in v1

Resolve the deferred docker system events subscription question.
docker/system/events is now a v1 Subscription operation using the
same StreamingHandler pattern already wired for logs, exec, and
image/pull. The internal ownership-store subscription for stale-entry
cleanup on destroy events is a follow-up refinement.

Scrub hedging language from ADR-060 and docker specs:
- Remove 'marginal gain' / 'future feature is additive' framing
- Replace 'no reaper' / 'not promptly cleaned up' with clean
  statement that events subscription provides the prompt-cleanup path
- Remove stale-entry policy from ADR-060's two-way door classification
This commit is contained in:
glm-5.2 committed 2026-07-10 07:31:55 +00:00
1 parent 11f531131c
commit ab963d0e46
6 files changed
+108 -64

No files matched your search

+8 -8
View File
@@ -17,14 +17,14 @@ sessions into containers.
alknet-docker does two things:
1. **Call operations.** A set of `OperationSpec`-registered operations
(`docker/container/*`, `docker/image/*`) on the shared
`alknet/call` ALPN, mapping bollard's docker API to the call
protocol's `Query` / `Mutation` / `Subscription` dispatch paths.
(`docker/container/*`, `docker/image/*`, `docker/system/events`) on
the shared `alknet/call` ALPN, mapping bollard's docker API to the
call protocol's `Query` / `Mutation` / `Subscription` dispatch paths.
Lifecycle (create/start/stop/remove/list/inspect) is `Query`/
`Mutation`; logs, non-interactive exec, and image pull are
`Subscription` (streaming via `StreamingHandler`, ADR-049). The
operations declare `AccessControl` against the ADR-050 container-
as-resource model. Decided in
`Mutation`; logs, non-interactive exec, image pull, and system
events are `Subscription` (streaming via `StreamingHandler`,
ADR-049). The operations declare `AccessControl` against the
ADR-050 container-as-resource model. Decided in
[ADR-058](../../decisions/058-alknet-docker-on-alknet-call.md).
2. **`DockerTtyBackend`** (behind the `tty` feature). An
@@ -90,7 +90,7 @@ docs):
|----|-------|--------|-----------|
| OQ-048 | Network and volume operation surface | deferred(scope) | Network/volume CRUD deferred; v1 is containers + images |
| OQ-049 | Image build (buildkit) scope | deferred(scope) | `buildkit` feature deferred; v1 has `image/pull` + `image/list` + `image/inspect` |
| OQ-050 | Docker system events subscription | deferred(scope) | `docker/system/events` subscription for stale-ownership cleanup deferred |
| OQ-050 | Docker system events subscription | resolved | `docker/system/events` included in v1 as a `Subscription` operation; internal ownership-store subscription for cleanup is a follow-up refinement |
| OQ-051 | Container create options surface | deferred(scope) | Full `CreateContainerOptions` (mounts, port bindings, networks) surface deferred to v1 implementation |
## Key Design Principles