@techspokes/typescript-wsdl-client 0.36.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -8
- package/dist/app/generateApp.js +3 -3
- package/dist/cli.js +5 -6
- package/dist/compiler/schemaCompiler.d.ts +2 -2
- package/dist/compiler/schemaCompiler.d.ts.map +1 -1
- package/dist/compiler/schemaCompiler.js +3 -15
- package/dist/compiler/shapeResolver.js +1 -1
- package/dist/gateway/generators.d.ts.map +1 -1
- package/dist/gateway/generators.js +8 -2
- package/dist/openapi/security.d.ts +1 -1
- package/dist/openapi/security.d.ts.map +1 -1
- package/dist/openapi/security.js +1 -1
- package/docs/api-reference.md +4 -4
- package/docs/cli-reference.md +18 -16
- package/docs/file-naming-and-path-organization.md +1 -1
- package/docs/gateway-guide.md +5 -5
- package/docs/migration-playbook.md +18 -18
- package/docs/migration.md +35 -0
- package/docs/output-anatomy.md +2 -2
- package/docs/production.md +1 -1
- package/docs/releases/README.md +30 -0
- package/docs/releases/v0.37.0.md +33 -0
- package/docs/releases/v0.38.0.md +35 -0
- package/docs/releases/v0.39.0.md +35 -0
- package/docs/releases/v0.40.0.md +45 -0
- package/docs/releases/v0.40.1.md +34 -0
- package/docs/releases/v1.0.0.md +42 -0
- package/docs/releases/v1.0.1.md +38 -0
- package/docs/roadmap/README.md +11 -11
- package/docs/roadmap/v1.0-capability-conformance-framework.md +14 -12
- package/docs/roadmap/v1.0-contract-audit.md +3 -3
- package/docs/roadmap/v1.0-release-candidate-gates.md +13 -7
- package/docs/roadmap/v1.0-wsdl-coverage-matrix.md +14 -4
- package/docs/roadmap/v1.0-xs-anyattribute-wildcard-bag.md +52 -50
- package/docs/start-here.md +8 -8
- package/docs/testing.md +6 -6
- package/package.json +17 -9
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# TypeScript WSDL Client v0.37.0
|
|
2
|
+
|
|
3
|
+
## Faster Release Publishing
|
|
4
|
+
|
|
5
|
+
This release keeps the full release gate before tagging and makes the post-release package workflow more focused.
|
|
6
|
+
|
|
7
|
+
## What This Improves
|
|
8
|
+
|
|
9
|
+
Publishing from an already validated release tag no longer reruns the full CI, conformance, and smoke pipeline inside the package workflow. The workflow now performs the publish-specific checks needed before npm and GitHub Packages publication: build, typecheck, agent skill validation, and package contents validation.
|
|
10
|
+
|
|
11
|
+
Release preflight now also verifies that the publish workflow stays targeted. This keeps the release safety boundary explicit: run full CI and conformance before pushing the tag, then run package-specific validation from the immutable tag before publishing.
|
|
12
|
+
|
|
13
|
+
## Highlights
|
|
14
|
+
|
|
15
|
+
- Adds `npm run release:publish-check` for targeted post-release package validation.
|
|
16
|
+
- Updates the package publishing workflow to use the targeted publish check.
|
|
17
|
+
- Adds release preflight coverage for the publish workflow gate.
|
|
18
|
+
- Updates the 1.0 roadmap to reflect the `0.36.0` wildcard-bag baseline.
|
|
19
|
+
|
|
20
|
+
## Upgrade Notes
|
|
21
|
+
|
|
22
|
+
No special upgrade steps.
|
|
23
|
+
|
|
24
|
+
## Validation
|
|
25
|
+
|
|
26
|
+
- CI passed.
|
|
27
|
+
- NPM package contents were validated.
|
|
28
|
+
- Agent skill artifact was validated and packaged.
|
|
29
|
+
- Release preflight passed against the target tag.
|
|
30
|
+
|
|
31
|
+
## Notes
|
|
32
|
+
|
|
33
|
+
Release tag: `v0.37.0`.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# TypeScript WSDL Client v0.38.0
|
|
2
|
+
|
|
3
|
+
## Dependency Floor Refresh
|
|
4
|
+
|
|
5
|
+
This release refreshes maintained dependency floors after the merged dependency updates and keeps generated app scaffolds aligned with the package baseline.
|
|
6
|
+
|
|
7
|
+
## What This Improves
|
|
8
|
+
|
|
9
|
+
Developers get current dependency minimums in both the published package and newly scaffolded Fastify gateway apps. The runtime YAML dependency moves to the latest `js-yaml` patch in the current line, while the development and scaffold stack pick up the maintained Fastify, Node type, and `tsx` releases.
|
|
10
|
+
|
|
11
|
+
The 1.0 roadmap remains focused on release-candidate gates. This release does not change generated SOAP, OpenAPI, or gateway behavior.
|
|
12
|
+
|
|
13
|
+
## Highlights
|
|
14
|
+
|
|
15
|
+
- Updates `js-yaml` to `5.2.1`.
|
|
16
|
+
- Updates `fastify` to `5.9.0`.
|
|
17
|
+
- Updates `@types/node` to `26.1.0`.
|
|
18
|
+
- Updates `tsx` to `4.23.0`.
|
|
19
|
+
- Updates generated app scaffold pins for matching dependency floors.
|
|
20
|
+
- Aligns roadmap documentation with the `0.38.0` release state.
|
|
21
|
+
|
|
22
|
+
## Upgrade Notes
|
|
23
|
+
|
|
24
|
+
No special upgrade steps.
|
|
25
|
+
|
|
26
|
+
## Validation
|
|
27
|
+
|
|
28
|
+
- CI passed.
|
|
29
|
+
- NPM package contents were validated.
|
|
30
|
+
- Agent skill artifact was validated and packaged.
|
|
31
|
+
- Release preflight passed against the target tag.
|
|
32
|
+
|
|
33
|
+
## Notes
|
|
34
|
+
|
|
35
|
+
Release tag: `v0.38.0`.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# TypeScript WSDL Client v0.39.0
|
|
2
|
+
|
|
3
|
+
## IDE And Generated Output Hygiene
|
|
4
|
+
|
|
5
|
+
This release tightens the repository's TypeScript ownership model for tests, generated examples, and release scripts while keeping generated client and gateway behavior stable.
|
|
6
|
+
|
|
7
|
+
## What This Improves
|
|
8
|
+
|
|
9
|
+
Developers working in strict NodeNext IDEs get diagnostics that line up with the repository's actual test boundaries. Scoped TypeScript configs now own conformance tests, unit tests that import scripts, and generated example output without broadening the production `src` configuration.
|
|
10
|
+
|
|
11
|
+
Generated Fastify gateway runtime metadata is emitted with less duplicated source while preserving the same response envelope behavior. Release scripts also share file helpers so future packaging and validation changes have fewer duplicated paths to maintain.
|
|
12
|
+
|
|
13
|
+
## Highlights
|
|
14
|
+
|
|
15
|
+
- Adds scoped TypeScript ownership for tests and generated examples.
|
|
16
|
+
- Deduplicates generated gateway runtime metadata literals.
|
|
17
|
+
- Keeps gateway runtime response behavior stable.
|
|
18
|
+
- Refactors agent skill build and validation scripts around shared file helpers.
|
|
19
|
+
- Documents intentional IDE suppressions where local inspections disagree with verified runtime behavior.
|
|
20
|
+
- Polishes Markdown and consumer guidance wording.
|
|
21
|
+
|
|
22
|
+
## Upgrade Notes
|
|
23
|
+
|
|
24
|
+
No special upgrade steps.
|
|
25
|
+
|
|
26
|
+
## Validation
|
|
27
|
+
|
|
28
|
+
- CI passed.
|
|
29
|
+
- NPM package contents were validated.
|
|
30
|
+
- Agent skill artifact was validated and packaged.
|
|
31
|
+
- Release preflight passed against the target tag.
|
|
32
|
+
|
|
33
|
+
## Notes
|
|
34
|
+
|
|
35
|
+
Release tag: `v0.39.0`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# TypeScript WSDL Client v0.40.0
|
|
2
|
+
|
|
3
|
+
## Current Dependency Baseline
|
|
4
|
+
|
|
5
|
+
This release refreshes maintained dependency floors after the merged dependency updates and keeps generated app scaffolds aligned with the package baseline.
|
|
6
|
+
|
|
7
|
+
## What This Improves
|
|
8
|
+
|
|
9
|
+
Developers get current compatible dependency minimums in both the published package and newly scaffolded Fastify gateway apps. The XML parser, test stack, Fastify development dependency, and Node type definitions move to their maintained releases without changing the generated SOAP, OpenAPI, or gateway contracts. TypeScript remains on the maintained 6.x line because the repository documentation validator uses compiler-library APIs not exposed by TypeScript 7.
|
|
10
|
+
|
|
11
|
+
Release preparation is also more direct: run targeted checks while editing, run release preflight once on the final uncommitted candidate, then commit and tag the exact validated tree without repeating the full gates.
|
|
12
|
+
|
|
13
|
+
Generated output paths are clearer. Public examples use an explicit, git-ignored `.generated/` directory, while repository automation keeps smoke output, caches, and release work isolated under owned `tmp/` subfolders.
|
|
14
|
+
|
|
15
|
+
The 1.0 roadmap remains focused on confirming explicit capability decisions and completing the release-candidate gates.
|
|
16
|
+
|
|
17
|
+
## Highlights
|
|
18
|
+
|
|
19
|
+
- Updates `fast-xml-parser` to `5.10.0`.
|
|
20
|
+
- Updates Fastify to `5.10.0`.
|
|
21
|
+
- Retains TypeScript `6.0.3` compatibility in the package and generated app.
|
|
22
|
+
- Updates Vitest to `4.1.10`.
|
|
23
|
+
- Updates `@types/node` to `26.1.1`.
|
|
24
|
+
- Updates generated app scaffold pins for matching dependency floors.
|
|
25
|
+
- Confirms zero known vulnerabilities in the root package and generated app dependency trees.
|
|
26
|
+
- Aligns catalog help with the actual co-located output behavior.
|
|
27
|
+
- Uses `.generated/` consistently for disposable consumer output examples.
|
|
28
|
+
- Prevents smoke cleanup from deleting caches and unrelated automation workspaces.
|
|
29
|
+
- Keeps release preflight helper declarations aligned across tests, TypeScript, and IDE inspections.
|
|
30
|
+
- Defines a single final-candidate release preflight before the release commit.
|
|
31
|
+
|
|
32
|
+
## Upgrade Notes
|
|
33
|
+
|
|
34
|
+
No special upgrade steps.
|
|
35
|
+
|
|
36
|
+
## Validation
|
|
37
|
+
|
|
38
|
+
- CI passed.
|
|
39
|
+
- NPM package contents were validated.
|
|
40
|
+
- Agent skill artifact was validated and packaged.
|
|
41
|
+
- Release preflight passed against the target tag.
|
|
42
|
+
|
|
43
|
+
## Notes
|
|
44
|
+
|
|
45
|
+
Release tag: `v0.40.0`.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# TypeScript WSDL Client v0.40.1
|
|
2
|
+
|
|
3
|
+
## Faster Conformance Feedback Before 1.0
|
|
4
|
+
|
|
5
|
+
This maintenance release makes the capability conformance suite easier to run and diagnose while closing the remaining scope decisions before the stable 1.0 release candidate.
|
|
6
|
+
|
|
7
|
+
## What This Improves
|
|
8
|
+
|
|
9
|
+
Maintainers and contributors can run contracts, compile, client, OpenAPI, gateway, generated-test, or app conformance independently instead of waiting for every evidence layer after a focused change. The complete release-blocking suite remains intact and now reports visible per-capability progress during its longer generated-project checks.
|
|
10
|
+
|
|
11
|
+
The 1.0 boundary is also explicit. Multiple bindings retain deterministic first SOAP binding selection, external policy documents remain unresolved, abstract types and substitution groups remain diagnostic, and MTOM/XOP attachments remain outside the typed SOAP-to-REST transport contract.
|
|
12
|
+
|
|
13
|
+
## Highlights
|
|
14
|
+
|
|
15
|
+
- Adds stage-specific conformance commands for focused maintainer feedback.
|
|
16
|
+
- Keeps all 123 capability checks in the canonical full suite.
|
|
17
|
+
- Documents the expected full-suite duration and agent timeout guidance.
|
|
18
|
+
- Records the accepted partial and terminal capability boundaries for 1.0.
|
|
19
|
+
- Defers the public WSDL inspector until after 1.0.
|
|
20
|
+
|
|
21
|
+
## Upgrade Notes
|
|
22
|
+
|
|
23
|
+
No special upgrade steps. Generated client, OpenAPI, gateway, app, and runtime contracts are unchanged.
|
|
24
|
+
|
|
25
|
+
## Validation
|
|
26
|
+
|
|
27
|
+
- CI passed.
|
|
28
|
+
- NPM package contents were validated.
|
|
29
|
+
- Agent skill artifact was validated and packaged.
|
|
30
|
+
- Release preflight passed against the target tag.
|
|
31
|
+
|
|
32
|
+
## Notes
|
|
33
|
+
|
|
34
|
+
Release tag: `v0.40.1`.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# TypeScript WSDL Client v1.0.0
|
|
2
|
+
|
|
3
|
+
## A Stable Typed SOAP Modernization Contract
|
|
4
|
+
|
|
5
|
+
Version 1.0 declares the documented TypeScript client, OpenAPI 3.1, Fastify gateway, runnable app, test generation, and programmatic APIs stable after the complete 0.x implementation and conformance program.
|
|
6
|
+
|
|
7
|
+
## What This Improves
|
|
8
|
+
|
|
9
|
+
Teams can adopt the generator with an explicit compatibility baseline. Default generated behavior remains aligned with `0.40.1`, supported WSDL patterns have fixture-backed evidence through every generated stage, and unsupported polymorphic or attachment constructs stop with diagnostics instead of producing misleading contracts.
|
|
10
|
+
|
|
11
|
+
The migration contract also makes opt-in behavior clear. Choice unions remain optional, NDJSON remains the default streaming format, JSON arrays remain available per operation, and multiple SOAP bindings continue using deterministic first-binding selection.
|
|
12
|
+
|
|
13
|
+
Release delivery now preserves rejected candidate evidence. An annotated abandonment marker blocks draft mutation and package publication while consuming the rejected version permanently.
|
|
14
|
+
|
|
15
|
+
## Highlights
|
|
16
|
+
|
|
17
|
+
- Stabilizes typed SOAP clients, OpenAPI specifications, Fastify gateways, apps, and generated tests.
|
|
18
|
+
- Requires Node.js 24 or newer and keeps Node 26 compatibility coverage.
|
|
19
|
+
- Preserves `all-optional` as the default `xs:choice` strategy.
|
|
20
|
+
- Preserves NDJSON as the default configured streaming format.
|
|
21
|
+
- Carries fixture-backed conformance evidence across compile and generated consumer stages.
|
|
22
|
+
- Rejects abstract types, substitution groups, and MTOM/XOP attachments with explicit diagnostics.
|
|
23
|
+
- Documents deterministic multi-binding behavior and unresolved external policy references.
|
|
24
|
+
- Keeps the public WSDL inspector as a post-1.0 candidate.
|
|
25
|
+
- Blocks GitHub Packages and npm publication for permanently abandoned release candidates.
|
|
26
|
+
|
|
27
|
+
## Upgrade Notes
|
|
28
|
+
|
|
29
|
+
No intentional behavior break is introduced relative to `0.40.1`. Consumers must run Node.js 24 or newer, regenerate owned output, review the generated diff, and run their TypeScript build and tests.
|
|
30
|
+
|
|
31
|
+
## Validation
|
|
32
|
+
|
|
33
|
+
- CI passed.
|
|
34
|
+
- NPM package contents were validated.
|
|
35
|
+
- Agent skill artifact was validated and packaged.
|
|
36
|
+
- Release preflight passed against the target tag.
|
|
37
|
+
|
|
38
|
+
## Notes
|
|
39
|
+
|
|
40
|
+
Release tag: `v1.0.0`.
|
|
41
|
+
|
|
42
|
+
Release candidate abandonment guards address [GitHub issue #117](https://github.com/TechSpokes/typescript-wsdl-client/issues/117).
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# TypeScript WSDL Client v1.0.1
|
|
2
|
+
|
|
3
|
+
## Reliable npmjs Publication for the Stable Contract
|
|
4
|
+
|
|
5
|
+
Version 1.0.1 delivers the stable contract intended for 1.0 with corrected npm 12 package validation and an npmjs-only release path.
|
|
6
|
+
|
|
7
|
+
## What This Improves
|
|
8
|
+
|
|
9
|
+
Maintainers can publish with the tested npm 12 toolchain without the package-content validator rejecting npm's package-keyed JSON output. The validator remains compatible with npm 11 for local and maintenance workflows.
|
|
10
|
+
|
|
11
|
+
Package delivery now has one authoritative registry. The guarded release workflow publishes only to npmjs with provenance and no longer grants or uses GitHub Packages capability.
|
|
12
|
+
|
|
13
|
+
## Highlights
|
|
14
|
+
|
|
15
|
+
- Preserves the stable TypeScript, OpenAPI, Fastify, app, test-generation, and programmatic contracts.
|
|
16
|
+
- Accepts the package manifest formats emitted by npm 11 and npm 12.
|
|
17
|
+
- Pins the tested npm release used by publication automation.
|
|
18
|
+
- Publishes packages only to npmjs with provenance.
|
|
19
|
+
- Removes the legacy GitHub Packages distribution and prevents recreation.
|
|
20
|
+
- Keeps the abandoned `v1.0.0` candidate and marker as immutable release evidence.
|
|
21
|
+
|
|
22
|
+
## Upgrade Notes
|
|
23
|
+
|
|
24
|
+
No generated-code or runtime migration is required relative to `0.40.1`. Consumers must continue using Node.js 24 or newer.
|
|
25
|
+
|
|
26
|
+
Version `1.0.0` was permanently abandoned before npmjs publication. Install `1.0.1` as the first supported stable package.
|
|
27
|
+
|
|
28
|
+
## Validation
|
|
29
|
+
|
|
30
|
+
- CI passed.
|
|
31
|
+
- NPM package contents were validated with npm 11 and npm 12.
|
|
32
|
+
- The npm publication lifecycle passed with npm 12 in dry-run mode.
|
|
33
|
+
- Agent skill artifact was validated and packaged.
|
|
34
|
+
- Release preflight passed against the target tag.
|
|
35
|
+
|
|
36
|
+
## Notes
|
|
37
|
+
|
|
38
|
+
Release tag: `v1.0.1`.
|
package/docs/roadmap/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Version 1.0 Roadmap Plan
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Completed plan for moving `@techspokes/typescript-wsdl-client` from the `0.x` line to the stable `1.0.0` release.
|
|
4
4
|
|
|
5
5
|
See the root [README.md](../../README.md) for project overview and the root [ROADMAP.md](../../ROADMAP.md) for the public roadmap summary.
|
|
6
6
|
|
|
@@ -8,20 +8,20 @@ See the root [README.md](../../README.md) for project overview and the root [ROA
|
|
|
8
8
|
|
|
9
9
|
This plan turns the 1.0 roadmap into implementation slices that can be picked up independently. Each slice has its own plan document with scope, testing strategy, acceptance gates, and release implications.
|
|
10
10
|
|
|
11
|
-
The plan
|
|
11
|
+
The plan preserves the stable 1.0 contract. Choice union mode, JSON array streaming, `xs:anyAttribute` wildcard bags, stage-specific conformance, executable unsupported diagnostics, and repeatable release gates shipped before or with `1.0.0`.
|
|
12
12
|
|
|
13
13
|
## Route Summary
|
|
14
14
|
|
|
15
15
|
| Slice | Document | Status | Outcome |
|
|
16
16
|
|-----------------------|------------------------------------------------------------------------------|-------------------|---------------------------------|
|
|
17
|
-
| Contract audit | [Contract Audit](v1.0-contract-audit.md) |
|
|
17
|
+
| Contract audit | [Contract Audit](v1.0-contract-audit.md) | complete | Public surfaces match behavior |
|
|
18
18
|
| OpenAPI compatibility | [OpenAPI Fastify Compatibility](v1.0-openapi-fastify-compatibility.md) | baseline complete | Schema strategy is proven |
|
|
19
19
|
| Choice union mode | [Choice Union Mode](v1.0-choice-union-mode.md) | complete | Implemented in `0.26.0` |
|
|
20
20
|
| JSON array streaming | [JSON Array Streaming](v1.0-json-array-streaming.md) | complete | Implemented in `0.28.0` |
|
|
21
21
|
| Conformance framework | [Capability Conformance Framework](v1.0-capability-conformance-framework.md) | gate wired | Pipeline claims are test-backed |
|
|
22
22
|
| WSDL coverage matrix | [WSDL Coverage Matrix](v1.0-wsdl-coverage-matrix.md) | baseline complete | Public support is test-backed |
|
|
23
|
-
| `xs:anyAttribute` bag | [`xs:anyAttribute` Wildcard Bag](v1.0-xs-anyattribute-wildcard-bag.md) |
|
|
24
|
-
| Release candidate | [Release Candidate Gates](v1.0-release-candidate-gates.md) |
|
|
23
|
+
| `xs:anyAttribute` bag | [`xs:anyAttribute` Wildcard Bag](v1.0-xs-anyattribute-wildcard-bag.md) | complete | Implemented in `0.36.0` |
|
|
24
|
+
| Release candidate | [Release Candidate Gates](v1.0-release-candidate-gates.md) | complete | 1.0 release is repeatable |
|
|
25
25
|
|
|
26
26
|
## Execution Order
|
|
27
27
|
|
|
@@ -47,21 +47,21 @@ The registry, fixture strategy, compile runner, client evidence, OpenAPI evidenc
|
|
|
47
47
|
|
|
48
48
|
### Slice 6: WSDL Coverage Matrix
|
|
49
49
|
|
|
50
|
-
The WSDL matrix rows now exist as conformance registry entries with compile, client, OpenAPI, gateway runtime, generated-test, app, documentation, and release-gate evidence.
|
|
50
|
+
The WSDL matrix rows now exist as conformance registry entries with compile, client, OpenAPI, gateway runtime, generated-test, app, documentation, and release-gate evidence. Version `0.40.1` accepts the remaining partial and terminal rows as the 1.0 boundary. Keep those rows current while preparing release candidate gates.
|
|
51
51
|
|
|
52
52
|
### Slice 7: xs:anyAttribute Wildcard Bag
|
|
53
53
|
|
|
54
|
-
The [`xs:anyAttribute` wildcard bag plan](v1.0-xs-anyattribute-wildcard-bag.md)
|
|
54
|
+
The [`xs:anyAttribute` wildcard bag plan](v1.0-xs-anyattribute-wildcard-bag.md) shipped in `0.36.0`. It promoted the previous metadata-only partial row to supported by emitting a configured wildcard attribute bag through TypeScript, OpenAPI, gateway, generated-test, app, and documentation evidence.
|
|
55
55
|
|
|
56
56
|
### Slice 8: Release Candidate Gates
|
|
57
57
|
|
|
58
58
|
Run the release candidate gates after feature work and documentation have converged. This slice validates docs, tests, generated examples, package contents, skill artifact, release notes, and provenance workflow readiness.
|
|
59
59
|
|
|
60
|
-
##
|
|
60
|
+
## 1.0 Release State
|
|
61
61
|
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
62
|
+
- Public contract surfaces are audited against implementation and tests.
|
|
63
|
+
- Capability boundaries are documented and backed by executable evidence.
|
|
64
|
+
- Release metadata and the final candidate pass release preflight before tagging.
|
|
65
65
|
|
|
66
66
|
## Quality Principles
|
|
67
67
|
|
|
@@ -125,7 +125,7 @@ Third-party suites can inform future rows:
|
|
|
125
125
|
|
|
126
126
|
The conformance framework should be designed so its fixtures can later seed a standalone public project, tentatively named `wsdl-conformance-fixtures`.
|
|
127
127
|
|
|
128
|
-
The public fixture project would be an experimental, curated corpus of small WSDL and XSD fixtures for SOAP client and code-generation tools. It should not claim to be an official standards suite. It should provide practical, source-backed examples for valid, partial, diagnostic, unsupported, recovery, and real-world-compatible behaviors.
|
|
128
|
+
The public fixture project would be an experimental, curated corpus of small WSDL and XSD fixtures for SOAP client and code-generation tools. It should not claim to be an official standards' suite. It should provide practical, source-backed examples for valid, partial, diagnostic, unsupported, recovery, and real-world-compatible behaviors.
|
|
129
129
|
|
|
130
130
|
The public corpus should preserve clean licensing and clear provenance. Do not copy external corpora wholesale. Prefer original minimized fixtures derived from standards, profiles, and observed real-world patterns.
|
|
131
131
|
|
|
@@ -152,11 +152,11 @@ The corpus should be explainable. Each fixture should say what behavior it exerc
|
|
|
152
152
|
|
|
153
153
|
## Decision Framework
|
|
154
154
|
|
|
155
|
-
Use this framework before changing a capability from `research` to a final status. The decision should optimize for truthful generation, deterministic output, and maintainable SOAP modernization rather than broad standards completeness.
|
|
155
|
+
Use this framework before changing a capability from `research` to a final status. The decision should optimize for truthful generation, deterministic output, and maintainable SOAP modernization rather than broad standards' completeness.
|
|
156
156
|
|
|
157
157
|
First decide whether the construct is important enough for this project. Favor support when the feature is common in WSDLs, important for enterprise modernization, or already required by existing generated outputs. Favor deferral when the feature is rare, can be worked around, or requires a runtime contract outside the current product surface.
|
|
158
158
|
|
|
159
|
-
Then decide whether the construct can be modeled honestly in `catalog.json`. If the catalog can represent the shape without losing semantics, support or partial support may be appropriate. If the catalog
|
|
159
|
+
Then decide whether the construct can be modeled honestly in `catalog.json`. If the catalog can represent the shape without losing semantics, support or partial support may be appropriate. If the catalog hid polymorphism, transport behavior, binary parts, external network policy, or runtime ambiguity, prefer a diagnostic or unsupported decision.
|
|
160
160
|
|
|
161
161
|
Then check downstream stages. A `supported` row must work through every relevant stage. A feature that compiles but cannot be represented in generated TypeScript, OpenAPI, gateway runtime, or generated tests should be `partial` unless those stages do not apply.
|
|
162
162
|
|
|
@@ -170,7 +170,7 @@ Use these decisions:
|
|
|
170
170
|
- `defer`: keep a fixture and rationale, but do not claim support yet.
|
|
171
171
|
- `out-of-scope`: document that the feature is intentionally outside the 1.0 product contract.
|
|
172
172
|
|
|
173
|
-
When full support is clearly local, deterministic, and representable, implement it rather than leaving unnecessary diagnostics. When full support would imply semantics the generator cannot preserve, prefer diagnostics
|
|
173
|
+
When full support is clearly local, deterministic, and representable, implement it rather than leaving unnecessary diagnostics. When full support would imply semantics the generator cannot preserve, prefer diagnostics to partial, misleading output.
|
|
174
174
|
|
|
175
175
|
## Phase 1 Decisions
|
|
176
176
|
|
|
@@ -437,7 +437,7 @@ The runner should perform these steps:
|
|
|
437
437
|
7. Pass `clientDir`, `catalogFile`, `versionSlug`, and `serviceSlug` to `generateGateway`.
|
|
438
438
|
8. Type-check generated client and gateway artifacts together.
|
|
439
439
|
9. Dynamically import `<temp>/gateway/plugin.ts`.
|
|
440
|
-
10. Register the plugin with `Fastify({logger: false})` and the row's mock operations client.
|
|
440
|
+
10. Register the plugin with `Fastify({logger: false})` and the row's mock operations' client.
|
|
441
441
|
11. Resolve each request path from the generated OpenAPI operation when possible.
|
|
442
442
|
12. Execute `fastify.inject` and run row-specific status and body assertions.
|
|
443
443
|
|
|
@@ -547,7 +547,9 @@ Acceptance criteria:
|
|
|
547
547
|
|
|
548
548
|
Phase 5 is implemented. Keep this section as the baseline for conformance gate ownership.
|
|
549
549
|
|
|
550
|
-
`npm run test:conformance` remains the
|
|
550
|
+
`npm run test:conformance` remains the complete maintainer command for WSDL capability rows. Stage commands under `test:conformance:<stage>` provide contracts, compile, client, OpenAPI, gateway, generated-test, and app feedback without running unrelated evidence layers. `npm test` and `npm run ci` cover the canonical full suite through broad Vitest discovery, so release preflight does not run a duplicate full conformance pass. Release preflight instead runs a cheap `conformance-gate` script check that fails if the full command disappears, if `npm test` becomes scoped away from `test/conformance`, or if `npm run ci` stops running the broad test command.
|
|
551
|
+
|
|
552
|
+
The complete suite generates consumer-style projects and launches nested TypeScript and Vitest processes. A maintained Windows run takes about three to four minutes. Maintainers and agents should allow at least six minutes and inspect the active process before diagnosing a quiet interval as a stall.
|
|
551
553
|
|
|
552
554
|
Acceptance criteria:
|
|
553
555
|
|
|
@@ -557,9 +559,9 @@ Acceptance criteria:
|
|
|
557
559
|
- Full conformance can run locally before `1.0.0`.
|
|
558
560
|
- Release notes can cite capability IDs for behavior changes.
|
|
559
561
|
|
|
560
|
-
##
|
|
562
|
+
## Post-1.0 WSDL Inspector
|
|
561
563
|
|
|
562
|
-
|
|
564
|
+
The WSDL inspector is explicitly deferred until after `1.0.0`. Build it after the registry has enough stable coverage to be useful, starting with a programmatic API and internal CLI output before committing to public command semantics.
|
|
563
565
|
|
|
564
566
|
Acceptance criteria:
|
|
565
567
|
|
|
@@ -568,13 +570,13 @@ Acceptance criteria:
|
|
|
568
570
|
- Human output includes status, limitation, and workaround text.
|
|
569
571
|
- Inspector findings link back to matrix evidence.
|
|
570
572
|
|
|
571
|
-
##
|
|
573
|
+
## Post-1.0 Decisions
|
|
572
574
|
|
|
573
|
-
- Decide
|
|
575
|
+
- Decide whether an inspector output format should become public.
|
|
574
576
|
- Decide whether docs should remain manually maintained or eventually generated from the registry.
|
|
575
577
|
|
|
576
578
|
## Release Implications
|
|
577
579
|
|
|
578
|
-
This framework is 1.0 readiness infrastructure.
|
|
580
|
+
This framework is 1.0 readiness infrastructure. Stage-specific maintainer commands ship in `0.40.1`, while the canonical full suite stays release-blocking.
|
|
579
581
|
|
|
580
|
-
Do not block
|
|
582
|
+
Do not block `1.0.0` on the WSDL inspector. The registry and runner create the durable foundation; the post-1.0 inspector should reuse that foundation after it proves useful.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Version 1.0 Contract Audit
|
|
2
2
|
|
|
3
|
-
Status:
|
|
3
|
+
Status: final 1.0 audit completed after `0.40.1`; ongoing as release hygiene.
|
|
4
4
|
|
|
5
5
|
Plan for keeping public flags, programmatic options, docs, generated behavior, and roadmap statements aligned through `1.0.0`.
|
|
6
6
|
|
|
@@ -41,7 +41,7 @@ This slice prevents later work from building on ambiguous behavior. Choice union
|
|
|
41
41
|
|
|
42
42
|
### Roadmap State
|
|
43
43
|
|
|
44
|
-
`ROADMAP.md` must reflect the current
|
|
44
|
+
`ROADMAP.md` must reflect the current `0.40.x` line. Choice union mode, JSON array streaming, conformance gate wiring, baseline WSDL coverage, wildcard attribute bags, dependency refreshes, and stage-specific conformance commands must be treated as shipped work before final release-candidate gates begin.
|
|
45
45
|
|
|
46
46
|
### Release Metadata
|
|
47
47
|
|
|
@@ -63,7 +63,7 @@ Add negative tests only for newly identified contract gaps that a follow-up slic
|
|
|
63
63
|
|
|
64
64
|
## Acceptance Criteria
|
|
65
65
|
|
|
66
|
-
- `ROADMAP.md` names released `0.
|
|
66
|
+
- `ROADMAP.md` names released `0.40.x` work accurately.
|
|
67
67
|
- `docs/roadmap/README.md` links every 1.0 slice.
|
|
68
68
|
- CLI, API, and configuration docs agree on required 1.0 behavior.
|
|
69
69
|
- Known contract gaps are linked to implementation slices.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Version 1.0 Release Candidate Gates
|
|
2
2
|
|
|
3
|
-
Status:
|
|
3
|
+
Status: completed for the `1.0.0` final candidate.
|
|
4
4
|
|
|
5
5
|
Plan for validating that `1.0.0` is repeatable, documented, test-backed, and ready to publish.
|
|
6
6
|
|
|
@@ -33,19 +33,21 @@ Run `npm run docs:validate`. Confirm README, CLI reference, API reference, confi
|
|
|
33
33
|
|
|
34
34
|
### Test Gate
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
Release preflight runs the broad Vitest suite through `npm run ci`. Use focused tests while developing and avoid a separate final `npm test` pass.
|
|
37
37
|
|
|
38
38
|
### Conformance Gate
|
|
39
39
|
|
|
40
|
-
Run `npm run test:conformance` when changing capability rows
|
|
40
|
+
Use the narrowest `npm run test:conformance:<stage>` command while changing one evidence layer. Run `npm run test:conformance` when changing capability rows, fixture-backed behavior, shared runner behavior, or the final candidate. Confirm `npm test` and `npm run ci` keep broad Vitest discovery so the canonical full suite stays covered, and confirm release preflight reports a passing `conformance-gate` script check.
|
|
41
|
+
|
|
42
|
+
Allow at least six minutes for the full command on Windows. It generates several consumer-style projects and may stay quiet while nested TypeScript or Vitest processes run.
|
|
41
43
|
|
|
42
44
|
### Smoke Gate
|
|
43
45
|
|
|
44
|
-
|
|
46
|
+
Release preflight runs `npm run smoke:pipeline` through `npm run ci`. Use the focused smoke command while developing pipeline changes and avoid a separate final smoke pass.
|
|
45
47
|
|
|
46
48
|
### CI Gate
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
Release preflight runs `npm run ci` once for the final candidate. Do not run a separate final CI pass immediately before or after preflight.
|
|
49
51
|
|
|
50
52
|
### Example Gate
|
|
51
53
|
|
|
@@ -57,7 +59,11 @@ Run Node 24 as the supported Node.js floor and Node 26 as the current line in CI
|
|
|
57
59
|
|
|
58
60
|
### Release Gate
|
|
59
61
|
|
|
60
|
-
Run `npm run release:preflight -- v1.0.0`
|
|
62
|
+
Run `npm run release:preflight -- v1.0.0` once on the final uncommitted release tree. Confirm release notes, changelog, dependency pins, conformance wiring, generated examples, CI, and skill packaging pass, then commit the exact validated tree.
|
|
63
|
+
|
|
64
|
+
Set the release version before preflight. Preflight verifies tracked release files without rewriting them and fails if any preflight step changes tracked content; generated checks and the skill ZIP remain under ignored `tmp/` and `dist/` paths.
|
|
65
|
+
|
|
66
|
+
The post-release package workflow should run `npm run release:publish-check` before publishing from the tag. It must not rerun full CI because `release:preflight` is the release-blocking gate before the tag is pushed.
|
|
61
67
|
|
|
62
68
|
## Documentation Checklist
|
|
63
69
|
|
|
@@ -79,7 +85,7 @@ Run `npm run release:preflight -- v1.0.0` during release preparation. Confirm re
|
|
|
79
85
|
- `CHANGELOG.md` has a dated `1.0.0` section during release preparation.
|
|
80
86
|
- The package dry-run contents include required runtime templates and docs.
|
|
81
87
|
- The agent skill artifact validates and packages deterministically.
|
|
82
|
-
- The release workflow can publish with provenance.
|
|
88
|
+
- The release workflow can publish with provenance after the targeted publish check passes.
|
|
83
89
|
|
|
84
90
|
## Release Implications
|
|
85
91
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Version 1.0 WSDL Coverage Matrix
|
|
2
2
|
|
|
3
|
-
Status: baseline support registry expanded through `0.
|
|
3
|
+
Status: baseline support registry expanded through `0.36.0`; generated-test evidence, app evidence, validation-gate wiring, and `xs:anyAttribute` wildcard-bag support shipped before `1.0.0`.
|
|
4
4
|
|
|
5
5
|
Plan for turning WSDL and XSD support claims into automated, fixture-backed evidence before 1.0. This is the first domain under the [Capability Conformance Framework](v1.0-capability-conformance-framework.md).
|
|
6
6
|
|
|
7
|
-
The initial fixture-backed compile matrix shipped in `0.30.2` and `0.30.3`, with the baseline support corpus expanded in `0.35.0`. Client, OpenAPI, gateway runtime, generated-test, and app evidence now prove the current supported and partial rows, and terminal rows have executable diagnostics. The matrix is now the public baseline support registry. Examples remain demos, while conformance fixtures are the durable support evidence. `npm test` and `npm run ci` cover the conformance suite through broad Vitest discovery, and release preflight verifies that the script wiring remains intact.
|
|
7
|
+
The initial fixture-backed compile matrix shipped in `0.30.2` and `0.30.3`, with the baseline support corpus expanded in `0.35.0` and `xs:anyAttribute` promoted to supported in `0.36.0`. Client, OpenAPI, gateway runtime, generated-test, and app evidence now prove the current supported and partial rows, and terminal rows have executable diagnostics. The matrix is now the public baseline support registry. Examples remain demos, while conformance fixtures are the durable support evidence. `npm test` and `npm run ci` cover the conformance suite through broad Vitest discovery, and release preflight verifies that the script wiring remains intact.
|
|
8
8
|
|
|
9
9
|
See the root [README.md](../../README.md) for project overview and [Version 1.0 Roadmap Plan](README.md) for the complete 1.0 route.
|
|
10
10
|
|
|
@@ -34,6 +34,16 @@ Each matrix row should have a minimal fixture, an expected support status, and a
|
|
|
34
34
|
- Keep fixture metadata useful for a future public conformance fixture corpus.
|
|
35
35
|
- Preserve the weather smoke fixture as the canonical end-to-end demo while the copied conformance fixture proves the baseline support claim.
|
|
36
36
|
|
|
37
|
+
## Accepted 1.0 Boundaries
|
|
38
|
+
|
|
39
|
+
The remaining partial and terminal rows are accepted for `1.0.0`. They are explicit compatibility boundaries rather than unfinished release blockers.
|
|
40
|
+
|
|
41
|
+
- Abstract complex types remain compile-terminal until polymorphic instance handling is designed.
|
|
42
|
+
- Substitution groups remain compile-terminal until polymorphic element expansion is designed.
|
|
43
|
+
- Multi-binding WSDLs keep deterministic first SOAP binding selection without a new selection option.
|
|
44
|
+
- External `PolicyReference` documents are not fetched, resolved, or enforced.
|
|
45
|
+
- MTOM/XOP attachments remain outside the typed SOAP-to-REST transport contract.
|
|
46
|
+
|
|
37
47
|
## Out Of Scope
|
|
38
48
|
|
|
39
49
|
- Do not implement every unsupported WSDL feature in this slice.
|
|
@@ -159,7 +169,7 @@ Partial rows must prove only the documented subset. External `PolicyReference` s
|
|
|
159
169
|
|
|
160
170
|
### Next Slice
|
|
161
171
|
|
|
162
|
-
|
|
172
|
+
Version `0.40.1` adds stage-specific conformance commands and records the accepted 1.0 boundaries. After that release, the next slice is release-candidate preparation. Run it before adding more feature rows unless a production bug requires a focused diagnostic or support decision.
|
|
163
173
|
|
|
164
174
|
Work items:
|
|
165
175
|
|
|
@@ -169,7 +179,7 @@ Work items:
|
|
|
169
179
|
- Keep release preflight's Node gate aligned with the package engine, Node 24 CI coverage, Node 26 CI coverage, and Node 24 release workflows.
|
|
170
180
|
- Confirm release preflight runtime remains acceptable.
|
|
171
181
|
- Keep diagnostic and unsupported rows stopped at compile.
|
|
172
|
-
-
|
|
182
|
+
- Preserve the accepted partial and terminal 1.0 decisions unless production evidence requires a patch.
|
|
173
183
|
- Update public docs only when a row status or public contract changes.
|
|
174
184
|
|
|
175
185
|
### Verification
|