Skip to content

Releases: kibertoad/cat-factory

@cat-factory/workspaces@0.28.52

Choose a tag to compare

@kibertoad kibertoad released this 02 Sep 23:34
85b076c

Patch Changes

  • Updated dependencies [3b11b10]
    • @cat-factory/contracts@0.343.0
    • @cat-factory/kernel@0.332.0

@cat-factory/workspaces@0.28.51

Choose a tag to compare

@kibertoad kibertoad released this 02 Sep 22:02
c88624a

Patch Changes

  • Updated dependencies [9dfd40b]
    • @cat-factory/contracts@0.342.0
    • @cat-factory/kernel@0.331.0

@cat-factory/workspaces@0.28.50

Choose a tag to compare

@kibertoad kibertoad released this 02 Sep 21:08
1c3b801

Patch Changes

  • Updated dependencies [1c79070]
    • @cat-factory/contracts@0.341.0
    • @cat-factory/kernel@0.330.0

@cat-factory/workspaces@0.28.49

Choose a tag to compare

@kibertoad kibertoad released this 02 Sep 19:53
62a2b9a

Patch Changes

  • Updated dependencies [8b015a3]
    • @cat-factory/contracts@0.340.0
    • @cat-factory/kernel@0.329.0

@cat-factory/workspaces@0.28.48

Choose a tag to compare

@kibertoad kibertoad released this 02 Sep 17:48
1e984ef

Patch Changes

  • Updated dependencies [ec0aba1]
    • @cat-factory/contracts@0.339.0
    • @cat-factory/kernel@0.328.0

@cat-factory/workspaces@0.28.47

Choose a tag to compare

@kibertoad kibertoad released this 02 Sep 15:01
15c06fe

Patch Changes

  • Updated dependencies [436f373]
    • @cat-factory/contracts@0.338.0
    • @cat-factory/kernel@0.327.0

@cat-factory/workspaces@0.28.46

Choose a tag to compare

@kibertoad kibertoad released this 02 Sep 00:28
7273721

Patch Changes

  • Updated dependencies [a745ee2]
    • @cat-factory/contracts@0.337.0
    • @cat-factory/kernel@0.326.0

@cat-factory/worker@0.208.2

Choose a tag to compare

@kibertoad kibertoad released this 02 Sep 23:34
85b076c

Patch Changes

  • Updated dependencies [3b11b10]
    • @cat-factory/contracts@0.343.0
    • @cat-factory/kernel@0.332.0
    • @cat-factory/agents@0.153.1
    • @cat-factory/binary-generators@0.3.30
    • @cat-factory/consensus@0.17.30
    • @cat-factory/eks@0.1.369
    • @cat-factory/gates@0.11.30
    • @cat-factory/gitlab@0.22.30
    • @cat-factory/integrations@0.171.2
    • @cat-factory/observability-otel@0.23.23
    • @cat-factory/orchestration@0.298.1
    • @cat-factory/prompt-fragments@1.1.26
    • @cat-factory/server@0.311.3
    • @cat-factory/spend@0.17.8
    • @cat-factory/caching@0.20.64
    • @cat-factory/observability-langfuse@0.11.30
    • @cat-factory/provider-cloudflare@0.7.522

@cat-factory/worker@0.208.1

Choose a tag to compare

@kibertoad kibertoad released this 02 Sep 22:03
c88624a

Patch Changes

  • Updated dependencies [9dfd40b]
    • @cat-factory/contracts@0.342.0
    • @cat-factory/kernel@0.331.0
    • @cat-factory/agents@0.153.0
    • @cat-factory/orchestration@0.298.0
    • @cat-factory/binary-generators@0.3.29
    • @cat-factory/consensus@0.17.29
    • @cat-factory/eks@0.1.368
    • @cat-factory/gates@0.11.29
    • @cat-factory/gitlab@0.22.29
    • @cat-factory/integrations@0.171.1
    • @cat-factory/observability-otel@0.23.22
    • @cat-factory/prompt-fragments@1.1.25
    • @cat-factory/server@0.311.2
    • @cat-factory/spend@0.17.7
    • @cat-factory/caching@0.20.63
    • @cat-factory/observability-langfuse@0.11.29
    • @cat-factory/provider-cloudflare@0.7.521

@cat-factory/worker@0.208.0

Choose a tag to compare

@kibertoad kibertoad released this 02 Sep 21:08
1c3b801

Minor Changes

  • 1c79070: An environment provider can state a balancer by NAME, and the platform resolves it when it dials

    A route candidate had to be an IP literal, on the reasoning that "a name would just be the lookup
    that already failed". That is true of the environment's own hostname and false of the name the
    deployments this feature exists for actually have: a per-PR environment whose record lives in an
    internal view is fronted by load balancers that are ordinary public names, and those names resolve
    from anywhere. A provider had to resolve them itself and state the result, which pins a snapshot of
    a set that rotates as the balancer scales, forces DNS into a pure response mapping, and asks every
    such provider to get bounded resolution and partial failure right on its own.

    A candidate may now state host instead of address, and a manifest declares one through the new
    response.hostsPath beside addressesPath. The platform resolves each stated name at the moment
    it dials, expands it in place into the addresses it answered with (so the provider's preference
    order still means what it says), and grades every one of those addresses by exactly the rule that
    governs a stated address, so an address a bridge may not name is still refused and the destination
    a container is bridged to is still a literal the platform itself proved. The proof publishes the
    address that carried plus the name it came from, and the stored candidate stays the stable identity
    rather than today's answer, which is also what lets a proof survive the balancer changing addresses.

    Which kind a candidate names is stated, never inferred from the value. The address rule refuses
    2130706433 precisely because it is loopback in a disguise, and a resolver handed the same string
    answers loopback without complaint, so a bare string means an address under addressesPath and a
    name under hostsPath.

    Every way a name fails to become an address is recorded as its own attempt rather than dropped: a
    name that resolves nowhere rules that candidate out and the proof moves to the next, a lookup that
    failed (or a resolver that rejected, which the port forbids and nothing can enforce) carries the
    resolver's own words, and a deployment with nothing wired to resolve records the new
    resolver_unavailable reason, which settles nothing either way and can never fail a frame. Both
    facades wire a resolver (Node through dns.lookup, the Worker over DNS-over-HTTPS, which is the
    view its own outbound connections already resolve through).

    The platform also says when it stopped reading: the plan bounds how many names it looks up and how
    many addresses it dials, and a list longer than that now ends in one not_attempted attempt naming
    how many were passed over. That is a second new reason, and it leaves the route unruled-out for the
    same reason the first does. A verdict that nothing reaches an environment may not be graded against
    candidates nobody looked at, and the deployer fails a frame on that verdict.

    Two proofs that used to stand forever are now re-taken by the status poll: one recording that this
    deployment could not resolve a name (once one is wired), and a reached proof whose address was
    RESOLVED rather than stated. The second is the price of surviving a balancer rescale, which is what
    viaHost is for: the name stays good while the literal beside it, the one a container host bridge
    is built from, can be released by the same scale event.

    Internal breaks, no migration: EnvironmentAddress / environmentAddressSchema are renamed to
    EnvironmentRouteCandidate / environmentRouteCandidateSchema with address now optional;
    planRouteProbes takes an options object in place of its bare timeout argument;
    RouteProbeTarget's refused member is generalized to undialled and recordRefusedAttempt to
    recordUndialledAttempt; and reduceRouteProof takes the carrying target rather than its address.
    A stored candidate or proof written before this parses and behaves exactly as it did.

Patch Changes

  • Updated dependencies [1c79070]
    • @cat-factory/contracts@0.341.0
    • @cat-factory/kernel@0.330.0
    • @cat-factory/integrations@0.171.0
    • @cat-factory/agents@0.152.0
    • @cat-factory/orchestration@0.297.0
    • @cat-factory/binary-generators@0.3.28
    • @cat-factory/consensus@0.17.28
    • @cat-factory/eks@0.1.367
    • @cat-factory/gates@0.11.28
    • @cat-factory/gitlab@0.22.28
    • @cat-factory/observability-otel@0.23.21
    • @cat-factory/prompt-fragments@1.1.24
    • @cat-factory/server@0.311.1
    • @cat-factory/spend@0.17.6
    • @cat-factory/caching@0.20.62
    • @cat-factory/observability-langfuse@0.11.28
    • @cat-factory/provider-cloudflare@0.7.520