Skip to content

Resolve #2889: add HTTP-owned HTML error representations - #2898

Merged
ayden94 merged 39 commits into
mainfrom
issue-2889-http-html-error-representation
Aug 4, 2026
Merged

Resolve #2889: add HTTP-owned HTML error representations#2898
ayden94 merged 39 commits into
mainfrom
issue-2889-http-html-error-representation

Conversation

@ayden94

@ayden94 ayden94 commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Add an HTTP-owned, content-negotiated error representation seam so applications can serve HTML error and not-found documents without moving matching, classification, status, headers, or commit ownership into React.

Linked context: Closes #2889

Changes

  • add deterministic HTTP error representation negotiation and dispatch contracts
  • wire application registration through runtime bootstrap while preserving the canonical JSON error envelope
  • add a buffered React error-document adapter without introducing React dependencies into @fluojs/http
  • extend the testing portability harness and Express, Fastify, Node.js, and web-runtime coverage
  • document ownership, negotiation, lifecycle, and limitations in synchronized English/Korean package and architecture docs
  • add minor changesets for @fluojs/http, @fluojs/react, @fluojs/runtime, and @fluojs/testing

Testing

  • pnpm build
  • pnpm typecheck
  • pnpm lint
  • pnpm test — 386 files, 4608 passed, 1 skipped
  • pnpm verify:docs
  • pnpm verify:platform-consistency-governance
  • pnpm verify:release-readiness
  • focused @fluojs/http build and LSP diagnostics

Portability evidence:

The optional strict audit script could not run because it requires typescript/unstable/* APIs unavailable in the repository's typescript@6.0.2; canonical typecheck, lint/TSDoc, tests, governance, and release-readiness checks passed.

Release impact

  • This PR has consumer-visible release impact and includes a changeset.
  • This PR has no consumer-visible release impact.

Public export documentation

  • Changed public exports include a source-level summary.
  • Changed exported functions document matching @param / @returns tags where applicable.
  • Source @example blocks and README scenario examples still play complementary roles.

New HTTP and React representation seams include source TSDoc and package README scenarios.

Behavioral contract

  • No documented behavioral contracts were removed without migration notes.
  • New behavioral contracts are documented in the affected package README.
  • Intentional limitations are explicitly stated (not silently removed).
  • Runtime invariants are covered by regression tests.

The HTTP matcher and dispatcher remain authoritative. Canonical JSON error behavior remains the API fallback, and committed/aborted/post-shell phases are not rewritten.

Platform consistency governance (SSOT)

  • SSOT English/Korean mirror structure remains synchronized for changed governance docs.
  • If platform contract docs changed, companion updates include discoverability/docs index, tooling or CI enforcement, and regression-test evidence.
  • Any package README alignment/conformance claims are backed by the applicable platform harness tests, such as createPlatformConformanceHarness(...) for platform component contracts or createHttpAdapterPortabilityHarness(...) for HTTP adapter portability contracts.

The portability harness and supported adapter suites cover JSON/HTML selection and lifecycle behavior.

ayden94 added 30 commits August 3, 2026 19:07
@ayden94
ayden94 merged commit a7cffb1 into main Aug 4, 2026
10 checks passed
@ayden94
ayden94 deleted the issue-2889-http-html-error-representation branch August 4, 2026 00:00
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.

[React 0.6.0][Phase 6-2] Define an HTTP-owned HTML error and not-found representation seam

1 participant