Skip to content

Extend C-328 to the full-response http family on the embedded lane - #131

Merged
O6lvl4 merged 1 commit into
mainfrom
c328-response-embedded
Oct 12, 2026
Merged

O6lvl4 merged 1 commit into
mainfrom
c328-response-embedded

Conversation

@O6lvl4

@O6lvl4 O6lvl4 commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

Refs almide/almide#3620

C-328 said the full-response http family (get_response … request_response) is native-only. The implementation now serves it on the embedded wasm lane (almide run --target wasm). The embedded host answers a framed op 65 from the same rt-core request_response the native leg calls, and the http_framed splice rebuilds the HttpResponse value from that answer. This PR records that in the ledger before the implementation lands, as the boundary rule requires.

Changes

  • C-328 statement: an EXTENDED clause (appended; the earlier text is kept as history). It says:
    • the family is served on the embedded lane;
    • what op 65 answers;
    • that status, every header line (wire order, repeats kept) and the body read the same through the accessors on native and embedded;
    • that the NATIVE-ONLY sentence now holds for the stock-p1 and p3 lanes only.
  • New fixture: spec/embedded_cross/http_response_errs.almd (// @contract: C-328) runs the six verbs against closed ports, a malformed url, an unsupported scheme and a refused header value. It is listed as C-328 evidence.
  • docs/contracts/conformance.md regenerated.

Evidence

  • Before pinning, the fixture was run on native and on the embedded lane with the implementation branch's binary: byte-identical stdout, exit 0 on both.
  • The judge runner has no embedded leg; the implementation's tests/embedded_cross_test.rs runs every spec/embedded_cross fixture native against embedded.
  • The success path (a 200 with a repeated Set-Cookie, a 404, an unfollowed 302, an echoed header) is covered by the implementation-side tests/http_response_cross_test.rs. That test will be cited in the implementation's ledger once it lands there, not here.
  • Every gate in CLAUDE.md's pre-commit list passes locally: contracts, provenance, element coverage, style, validation, links, gate verification, the conformance self-test, runner coverage.

🤖 Generated with Claude Code

…ith its error-path fixture

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@O6lvl4
O6lvl4 merged commit baa9bbe into main Oct 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant