From 03e14a9ae332e318a8de21d657175efe448efc47 Mon Sep 17 00:00:00 2001 From: sechmachine <97589681+sechmachine727@users.noreply.github.com> Date: Thu, 30 Jul 2026 18:31:28 +0700 Subject: [PATCH] docs(openspec): archive terminal receipt repair --- .../.openspec.yaml | 0 .../design.md | 0 .../proposal.md | 0 .../specs/gateway-input-feedback/spec.md | 0 .../tasks.md | 0 openspec/specs/gateway-input-feedback/spec.md | 16 ++++++++++------ 6 files changed, 10 insertions(+), 6 deletions(-) rename openspec/changes/{fix-terminal-receipt-conformance => archive/2026-07-30-fix-terminal-receipt-conformance}/.openspec.yaml (100%) rename openspec/changes/{fix-terminal-receipt-conformance => archive/2026-07-30-fix-terminal-receipt-conformance}/design.md (100%) rename openspec/changes/{fix-terminal-receipt-conformance => archive/2026-07-30-fix-terminal-receipt-conformance}/proposal.md (100%) rename openspec/changes/{fix-terminal-receipt-conformance => archive/2026-07-30-fix-terminal-receipt-conformance}/specs/gateway-input-feedback/spec.md (100%) rename openspec/changes/{fix-terminal-receipt-conformance => archive/2026-07-30-fix-terminal-receipt-conformance}/tasks.md (100%) diff --git a/openspec/changes/fix-terminal-receipt-conformance/.openspec.yaml b/openspec/changes/archive/2026-07-30-fix-terminal-receipt-conformance/.openspec.yaml similarity index 100% rename from openspec/changes/fix-terminal-receipt-conformance/.openspec.yaml rename to openspec/changes/archive/2026-07-30-fix-terminal-receipt-conformance/.openspec.yaml diff --git a/openspec/changes/fix-terminal-receipt-conformance/design.md b/openspec/changes/archive/2026-07-30-fix-terminal-receipt-conformance/design.md similarity index 100% rename from openspec/changes/fix-terminal-receipt-conformance/design.md rename to openspec/changes/archive/2026-07-30-fix-terminal-receipt-conformance/design.md diff --git a/openspec/changes/fix-terminal-receipt-conformance/proposal.md b/openspec/changes/archive/2026-07-30-fix-terminal-receipt-conformance/proposal.md similarity index 100% rename from openspec/changes/fix-terminal-receipt-conformance/proposal.md rename to openspec/changes/archive/2026-07-30-fix-terminal-receipt-conformance/proposal.md diff --git a/openspec/changes/fix-terminal-receipt-conformance/specs/gateway-input-feedback/spec.md b/openspec/changes/archive/2026-07-30-fix-terminal-receipt-conformance/specs/gateway-input-feedback/spec.md similarity index 100% rename from openspec/changes/fix-terminal-receipt-conformance/specs/gateway-input-feedback/spec.md rename to openspec/changes/archive/2026-07-30-fix-terminal-receipt-conformance/specs/gateway-input-feedback/spec.md diff --git a/openspec/changes/fix-terminal-receipt-conformance/tasks.md b/openspec/changes/archive/2026-07-30-fix-terminal-receipt-conformance/tasks.md similarity index 100% rename from openspec/changes/fix-terminal-receipt-conformance/tasks.md rename to openspec/changes/archive/2026-07-30-fix-terminal-receipt-conformance/tasks.md diff --git a/openspec/specs/gateway-input-feedback/spec.md b/openspec/specs/gateway-input-feedback/spec.md index f09473b..952eb66 100644 --- a/openspec/specs/gateway-input-feedback/spec.md +++ b/openspec/specs/gateway-input-feedback/spec.md @@ -40,11 +40,15 @@ an implementation-specific release-all provider command. The registered bidirectional reliable `control.ack.v1` flow SHALL define an ASCII `VGF1` envelope with a direction byte, type byte, big-endian payload length, and exact payload bytes. Only host termination, rumble, and HDR feedback SHALL be valid from the -gateway to the client. Only IDR, FEC/loss feedback, and an empty terminal receipt -SHALL be valid from the client to the gateway. The terminal receipt SHALL be -valid only while the same session awaits receipt of its one terminal event and -MUST NOT be forwarded to the provider. The envelope SHALL contain no provider -address, certificate, credential, or opaque provider packet. +gateway to the client. Only IDR, FEC/loss feedback, and client-direction type +`0x03` with an empty payload as terminal receipt SHALL be valid from the client +to the gateway. The fixed conformance corpus and every generated or native +Protocol validator SHALL accept that exact receipt and reject unknown types, +wrong direction, nonempty receipt bodies, truncation, and length mismatch. The +terminal receipt SHALL be valid only while the same session awaits receipt of +its one terminal event and MUST NOT be forwarded to the provider. The envelope +SHALL contain no provider address, certificate, credential, or opaque provider +packet. #### Scenario: Host termination forwarding - **WHEN** the Apollo adapter receives an authenticated host termination packet @@ -52,7 +56,7 @@ address, certificate, credential, or opaque provider packet. #### Scenario: Terminal event receipt - **WHEN** a client receives the reliable typed terminal event -- **THEN** it sends the empty terminal receipt and the gateway owns bounded tunnel closure without forwarding the receipt to the provider +- **THEN** it sends the fixed empty client-direction type `0x03` receipt and the gateway owns bounded tunnel closure without forwarding the receipt to the provider #### Scenario: Unauthorized or malformed feedback - **WHEN** feedback is disabled by policy, has an invalid direction/type/length, contains a forbidden provider field, or sends a terminal receipt outside the awaiting-terminal state