Skip to content

docs: align stamped invoice contracts and restore reference builds - #311

Merged
javorosas merged 6 commits into
mainfrom
docs/stamp-chain-contract
Oct 20, 2026
Merged

javorosas merged 6 commits into
mainfrom
docs/stamp-chain-contract

Conversation

@javorosas

@javorosas javorosas commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

The API reference reports incompatible schema intersections when a specialized field narrows a nullable shared definition. The site also renders six complete API reference pages across its two locales, exhausting Node's default heap. Contract-only CI does not catch either rendering problem.

Customer updates declare their allowed fields directly, retaining the distinction between omitted values and explicit null. Cancellation status has a named shared schema. Invoice responses keep their named status variants instead of duplicating them inside Invoice, and the request variants remain unchanged.

StampProperties defines the shared stamp metadata, including version and optional legend. Stamp allows incomplete metadata, while InvoiceStamp requires the original string and the existing certified fields. This expresses complement_string as a required string on valid/canceled invoices without intersecting string with a nullable definition. The invoice UUID remains the sole fiscal identifier.

Only the localized /api/ and /en/api/ references render the complete API. The previous /api-es/ and /api-en/ URLs redirect to the corresponding language, preserving query parameters and anchors. The build succeeds without increasing Node's heap limit. Pull-request CI builds both locales as well as checking the OpenAPI contract; no dependencies are added.

The customer selector in Create Invoice uses concise labels and a short description instead of nested type summaries. These presentation changes leave the downloadable contract unchanged. Request samples retain their independent selection.

The non-null response guarantee must be available for historical stamped invoices before this contract and its consuming SDK are published. SDK enum bindings need to follow the extracted cancellation-status schema. The renderer fixes from #313 are incorporated here, with its commit preserved.

Validation: both Spanish and English contracts pass reference, structural-alignment and generated-type checks. The full site builds in both locales, including a clean installation from the lockfile. The clean local build completes in approximately 20 seconds with 4.6 GiB maximum resident memory, without a heap override. Browser checks cover the four redirect paths, query parameters and anchors, both languages and color modes, and customer alternatives. A React hydration warning also reproduces with the preceding configuration and remains unresolved. CI is rerunning for the latest commit.

@javorosas javorosas changed the title docs: clarify fiscal stamp string availability docs: guarantee original stamp strings on stamped invoices Oct 16, 2026
@javorosas javorosas changed the title docs: guarantee original stamp strings on stamped invoices docs: align stamped invoice contracts and restore reference builds Oct 20, 2026
@javorosas
javorosas merged commit 0561bec into main Oct 20, 2026
1 check passed
@javorosas
javorosas deleted the docs/stamp-chain-contract branch October 20, 2026 18:17
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.

2 participants