Skip to content

v0.183.366

Latest

Choose a tag to compare

@chen21019 chen21019 released this 01 Nov 17:12
· 1 commit to main since this release
Immutable release. Only release title and notes can be modified.
v0.183.366
bbba0e5

Engine 0.183.366

Required original component CI/CodeQL and artifact qualification passed.
Matching Server565/Engine366/Web205/Bridge027/Compose14.41 native business
acceptance remains pending. Component publication is not runtime acceptance.

Service creation

The human-reviewed service.create parameters add ports and healthCheck:

The example is an internal Engine plan payload. WebMCP/UI must first use
find_resources to obtain an opaque parentRef, which the trusted adapter
resolves; users and models do not supply raw resource IDs such as stackId.

{
  "name": "web",
  "image": "nginx:stable",
  "stackId": "1st3",
  "ports": ["18080:80/tcp", "53/udp"],
  "healthCheck": {"port": 80, "interval": 2000, "healthyThreshold": 2}
}

ports contains at most 64 native PortSpec strings, each at most 128
characters. Fixed host-port mappings and native allocation for omitted host
ports are both supported. Preview, human confirmation and apply before the
durable dispatch claim reuse the native parser and port preflight. Native
validation codes are retained, and the final filtered manager remains the
last validation boundary.

The closed health-check subset requires integer port in 1..65535. Optional
interval and responseTimeout are milliseconds; these and healthyThreshold
and unhealthyThreshold require integers in 1..2147483647. Optional
initializingTimeout and reinitializingTimeout accept 0..2147483647
milliseconds. Optional requestLine is at most 1024 characters without NUL,
CR or LF. strategy accepts none or recreate; omission uses the native
recreate default. Other optional numeric fields retain omission rather than
inventing defaults. Health-check name and quorum strategy configuration are
outside this subset; unknown fields and incorrect types are rejected.

The parameters map to native launchConfig fields with bridge networking and
startOnCreate=false. Creation remains inactive. A later start requires its
own human-approved plan; metadata updates remain limited to name/description.
Private human entry of environment-variable values is not part of this batch.
Neither environment nor raw launchConfig is accepted as plan input.

Catalog native projection correction

Catalog's real Docker transformer stores dynamic values such as imageUuid,
environment, ports and logConfig in InstanceRecord.data.fields. The
Materializer previously omitted that map when wrapping the transformed
instance, so the native role-schema projection lost required business values.
It now passes a fresh copy of DataUtils.getFields(instance) to the existing
WrappedResource projection. The current role schema, ID formatter, POST
method and non-create-response handling remain unchanged.

Direct tests use the real transformer and native base/project-role schemas to
verify the exact image, environment value with an embedded equals sign, port
mapping, log driver/configuration and bean-backed name. Narrowed schemas,
read-on-create-only fields and unlisted dynamic fields still restrict output,
and the source dynamic map retains its business values. This corrects the
existing Catalog projection; it adds no permission or new environment-input
channel. Matching artifact and native workflow acceptance remain pending.

Verified results and compatibility

Completion verifies the actual created Service identity/UUID, owner, parent,
image, scale, programs, network mode, ports and health check. Fixed port
mappings must match. Native allocated mappings must preserve private port,
protocol, bind address and multiplicity, with valid assigned host ports.
Missing, changed or conflicting mappings cannot establish completion.

Only a succeeded, verified receipt exposes read-only
executionResult.assignedPorts. This reports native persisted values without
changing the approved changes or treating an observed assignment as new
consent. An uncertain dispatch or receipt write retains its durable claim and
is never automatically replayed. Current role, project, Key revision/expiry,
explicit DENY and audit requirements remain in force.

Native PortSpec.toSpec() now brackets IPv6 bind addresses, preserving
roundtrip parsing for fixed and allocated mappings. Existing IPv4 and unbound
mapping output is retained. This affects native Service, load-balancer and
port-update formatting too; it does not rewrite existing database values.
Host IPv6 binding and routing still require native runtime acceptance.

The four AI opt-ins remain independently default-off. Full/legacy Key behavior,
runtime dependency coordinates and database schemas are unchanged. Clients
must understand these typed fields and the read-only execution result.
Consume a qualified component through a matching published Server release.

Focused evidence

60 unique focused cases passed with JDK 25 and Maven 3.9.16. They cover the
native parser/preflight path, post-preview conflicts and revocation before
claim, bounded input, actual readback, UUID rebinding, uncertain operations,
execution-result separation and IPv6 formatting. Three test-fixture setup
corrections were rerun alone; unaffected PASS evidence was retained. These
local focused results remain distinct from the original CI artifact qualification
below. Matching native workflow acceptance remains pending.

The Catalog projection correction passed two new real-schema regression
methods and one directly affected existing Materializer method. Its C03
source review independently re-extracts all 1396 operation tuples and their
semantic/admission dispositions; those classifications remain unchanged.

Qualified original CI artifact

Original security CI 41328904546 attempt 1, custom
CodeQL 41328904462 and organization CodeQL 41328907700 passed.
All observed PR checks passed; the CodeQL aggregator has zero annotations and
no new alerts. Signed single producer 3ce114486954403cead091379916c2d69c052336 has tree f9482dd3c8c0a1e24763c23009ea50ddccc2e66e; normal
same-tree merge/tag target bbba0e5a3e40ed58c98643610943586d0e521328.

The original CI structured report contains 3912 tests in
420 suites, 0 failures,
0 errors and 1 skips. Every method is
matched by its real class/name from the original Surefire XML summary. The
reviewed 62-case set comprises 21 truly new methods relative to published365
(19 Service-create and two
Materializer) and 41 inherited methods. Full affected classes add one existing
Materializer method, for 63 observed methods. They are not 62 new tests. All 97
required identities passed; the prior 95 requirements remain and exactly two
Materializer regression methods were added to the gate.

All 1396 operation tuples plus the source/unknown-action row passed (1397 rows).
The 441 production inputs have fingerprint 7ce17c8b05ccfba961414808148d8638bf54a9ad3bbc7de00facfcba4b26ac39. Source re-extraction
keeps every API tuple, semantic and admission disposition unchanged. The three
explicit new role projection entries are read-only executionResult access;
there are no new mutation grants. Historical producer355 and review chains
remain intact. Exact packaged native JSON schemas carry this bounded field
projection, and all 16 frozen SER files match the original365 source bytes.

Eight changed production classes have exact module/class hashes and reviewed
artifact disassembly. The 89 POMs and four build scripts have version-only
changes; dependency coordinates remain unchanged. Packaged MariaDB JDBC3.5.11
matches official bytes 42604178b9e57ec08ee0035079961516f086e455d0141f0b22c6eff29fb2fff4 and its actual SBOM/
scanner inventory. The original scanner/security guards passed, including raw
and effective Dapper evidence, fixed-vulnerability and secret checks. The four
reviewed JDBC CVEs remain absent even in ignored entries. No new scan is run
during qualification. Frozen role schemas match the published365 metadata.

Original artifact ID 13092089000, ZIP SHA256
f6bcd7f7a3381f00eea7c1ad1f286c6d53fa00524210e12776e29a9d004d1914. Original cattle.jar SHA256
0fd51b38c22c495d5f245527213807fa486e3bba571756b410ef6292f424db81 (88245511 bytes). The JAR streams from the
original CI ZIP; no rebuild or second full JAR file is produced. The established
12-asset release shape is retained. This workflow supplies original artifact
and exact source/tree/lock provenance; it does not supply native SLSA
attestation, and no SLSA claim is inferred.

Matching assembled runtime, Catalog private human input, native ports/IPv6,
role/Key/cross-ID and designated workflows remain pending. Existing failures
and unaffected PASS evidence remain separate; component CI/publication does
not establish full frontend or 243-group business acceptance.