Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 36 additions & 12 deletions COMPATIBILITY.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,41 @@
# Compatibility Contract

## Server v1.6.560 source candidate

Not yet published. Install examples remain on verified published 559.
The candidate consumes published Web Console 1.6.201 / optional bridge 0.2.3
and Engine 0.183.360 original CI artifacts. It adds External Service, DNS Alias
and metadata-only audit flows, corrects the Catalog-validator collection
admission and retains audit events across a rejected typed-write transaction.
Native SQL/Key/role checks and unknown-filter denials are preserved.
Catalog 0.20.17 / Compose 0.14.40 and official Brotli package proof are unchanged.
Combined runtime, role, cross-ID, layout, weak-model and durable-DENY acceptance
remain pending. This does not complete the 243-group frontend inventory.
See the [candidate note](docs/releases/server-1.6.560.md) for identities and scope.
<a id="server-v16560-publication"></a>

## Server v1.6.560 published

Image: `ghcr.io/pasturestack/server:v1.6.560@sha256:2f1533325f8314684b71062a37c9deae891e236b543a5ed7d958d698c21ff332`.
Runtime producer: `48c1a180e19846eb61d8a7ad60f38368e74abae1`.
OCI config: `sha256:45a9d6c22d5660f2a32992f2d43f2c3578b25846456cca4b7087f518f6aacab6`.
[Publisher 40990392489](https://github.com/PastureStack/server/actions/runs/40990392489)
passed its original source/build, security, startup/restart and protocol gates.
All 35 public assets and the OCI digest passed anonymous verification; native
provenance and SBOM attestations passed. Documentation commits do not replace
this producer or rebuild the immutable image.

The image consumes published Web Console 1.6.201 / optional bridge 0.2.3 and
Engine 0.183.360 original CI artifacts. It adds External Service, DNS Alias and
metadata-only audit flows, corrects the Catalog-validator collection admission
and retains audit decisions across rejected typed transactions. Native SQL/Key/
role checks and unknown-filter denials remain. Catalog 0.20.17 / Compose 0.14.40
and official Brotli package proof are unchanged. Engine provenance is its
original CI artifact/source/tree binding, without a native SLSA claim; that is
separate from the Server image's verified native attestations.

The exact existing package policy retains ten Medium occurrences across nine
officially unfixed CVEs. High/Critical, available-fix, untracked and secret gates
passed. Raw/effective scan results and exact VEX/vendor evidence remain distinct;
passing the gate is not zero reported vulnerabilities. Browser SBOM coverage
remains incomplete.

Designated QA now runs the published Server560 / Web201 image above. Its 8080
cutover and one actual restart passed, preserving configuration, mounts,
AppArmor and rollback, with three active Hosts and three active Agents. This is
runtime-baseline evidence; combined Core/Catalog/Archive/new-domain,
role/cross-ID/layout/weak-model and durable-DENY business acceptance remain
pending. Prior failures are retained. This does not complete
the 243-group frontend inventory. See the [release note](docs/releases/server-1.6.560.md)
for verified component inputs and rollback boundaries.


<a id="server-v16559-publication"></a>
Expand Down
36 changes: 21 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,24 @@ upstream history, authorship, licenses, and notices.

## Current release

[Server `v1.6.559`](https://github.com/PastureStack/server/releases/tag/v1.6.559)
packages Web Console `1.6.200`, Engine `v0.183.359`, Catalog `0.20.17` and
Compose `0.14.40`. It adds opt-in Catalog launch and Archive/restore workflows,
scoped lifecycle repairs, and the official Ubuntu Brotli safety package.
See the [release note](docs/releases/server-1.6.559.md) and
[publication identities](COMPATIBILITY.md#server-v16559-publication).

Publication and designated QA startup/restart checks passed. Three Hosts/Agents
remain active. The full typed resource workflow is not accepted: creating a Stack
succeeds, but its subsequent scoped discovery returns 403. Catalog/Archive
browser and role acceptance remain pending. This is not complete frontend
coverage; unchanged PASS evidence retains only its original scope.
[Server `v1.6.560`](https://github.com/PastureStack/server/releases/tag/v1.6.560)
packages Web Console `1.6.201` / optional bridge `0.2.3`, Engine `v0.183.360`,
Catalog `0.20.17` and Compose `0.14.40`. It adds bounded External Service, DNS
Alias and audit metadata workflows, repairs scoped collection admission and
retains authorization audit decisions across rejected typed transactions.
Existing Catalog launch, Archive/restore and official Brotli package contracts
remain. See the [release note](docs/releases/server-1.6.560.md) and
[publication identities](COMPATIBILITY.md#server-v16560-publication).

| Qualification | Current evidence |
|---|---|
| Published image | Original publisher source/build, security, startup/restart and protocol gates passed. |
| Public bytes and provenance | All 35 release assets and the OCI digest passed anonymous verification; native provenance and SBOM attestations passed. |
| Designated runtime baseline | Server560 / Web201 cutover and one actual restart passed; configuration, mounts and rollback were preserved, with three active Hosts/Agents. |
| Business workflow acceptance | Complete typed lifecycle and new Catalog/Archive/External/Alias/audit, role/cross-ID/layout/weak-model and durable-DENY acceptance remain pending. |

This is not complete frontend coverage. Original failures are retained and
unchanged PASS evidence keeps its original scope.

Personal API Keys remain available without an accessible environment. See the [Host guide](docs/hosts/README.md) before enrolling a host.

Expand Down Expand Up @@ -57,7 +63,7 @@ instance count. Advanced forms and other resource workflows remain pending.
The complete scoped lifecycle workflow remains unaccepted; review
the [current limitation](docs/ai-collaboration.md#workload-retirement-limitation)
before enabling these optional changes.
See the [release note](docs/releases/server-1.6.559.md) and
See the [release note](docs/releases/server-1.6.560.md) and
[AI collaboration guide](docs/ai-collaboration.md) for activation,
supported operations, audit records and rollback.

Expand All @@ -71,15 +77,15 @@ docker run -d --name pasturestack-server --restart unless-stopped -p 8080:8080 \
-v pasturestack-cattle:/var/lib/cattle \
-v pasturestack-mysql:/var/lib/mysql \
-v pasturestack-mysqllog:/var/log/mysql \
ghcr.io/pasturestack/server:v1.6.559
ghcr.io/pasturestack/server:v1.6.560
```

For HTTPS termination at a reverse proxy, set the exact public origin:

```yaml
services:
pasturestack-server:
image: ghcr.io/pasturestack/server:v1.6.559
image: ghcr.io/pasturestack/server:v1.6.560
restart: unless-stopped
ports:
- "8080:8080"
Expand Down
36 changes: 29 additions & 7 deletions docs/ai-collaboration.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Optional AI collaboration

Server v1.6.559 combines Web Console 1.6.200 and Engine 0.183.359. The twelve
Published Server v1.6.560 combines Web Console 1.6.201 / optional bridge 0.2.3
and Engine 0.183.360. The twelve
supported tools are `list_capabilities`, `find_resources`, `get_resource`,
`preview_resource_change`, `apply_resource_change`, `find_stacks`,
`find_services`, `get_service`, `update_service_description`,
Expand All @@ -11,12 +12,15 @@ Other platform operations retain their ordinary UI/API paths.

## Workload retirement limitation

The prior 558 individual Service-stop failure remains recorded. Engine 359
contains scoped lifecycle corrections, but the designated 559 complete workflow
has not passed: Stack creation succeeds, then scoped Stack discovery returns
403. Do not broaden a Key or replay an uncertain write to overcome this failure.
Catalog launch and Archive/restore are included as opt-ins; their designated
browser/role acceptance is still pending. Ordinary UI/API paths remain available.
The prior 558 individual Service-stop and 559 post-create collection failures
and their original reports remain recorded. Engine 360 contains the scoped
lifecycle, collection and durable-audit corrections; publication and component
tests do not establish a complete live workflow. Designated Server560 / Web201
QA cutover and one actual restart passed, retaining configuration, mounts and
rollback with three active Hosts/Agents. Complete Core, Catalog/Archive,
External/Alias/audit, role/cross-ID/layout/weak-model and durable-DENY business
acceptance remain pending. Do not broaden a Key or replay an uncertain write to overcome a
rejection. Ordinary UI/API paths remain available.

## Activation

Expand Down Expand Up @@ -50,6 +54,19 @@ cover name, description, image, scale where applicable, command and entry point.
They create stopped workloads. Advanced environment, port, mount, hardware,
security and other UI form fields require subsequent adapters.

External Services add stopped creation and bounded hostname or IP targets;
the two target modes cannot be mixed. DNS Aliases are created stopped and empty,
then bind authorized local Service targets through a separate reviewed plan.
Advanced/remote links and incoming-consumer/cross-source Alias cleanup remain
unsupported. These source-supported paths do not imply live acceptance.

Audit metadata queries reuse the existing broker owner for Key, environment,
time and decision filters. They work with native Cookie or the optional stdio
Key transport in the matching components, under the original caller's current
role, scope and revision. Narrow the query when the bounded scan limit is
reached. Tool output withholds private payloads and credentials; authorized
people retain the ordinary audit UI's existing payload controls.

The normal human review shows the exact typed changes and mounted-data rules.
Stopping or removing a workload does not mean every external data directory is
backed up or retained. Review the existing domain's removal behavior before
Expand Down Expand Up @@ -104,6 +121,11 @@ Per-Key audit distinguishes the server's authorization decision, the HTTP
result and the later operation result. Client-reported tool events are labelled
separately; an ALLOW decision or accepted request is not proof of completion.
Credentials, OTPs and description contents are not tool audit payloads.
The Engine records the broker's complete query outcome separately from source
page responses. Decisions written inside a Core transaction remain in the
forced durable spool for independent replay, including when a rejected typed
request rolls back. Durable spool acknowledgment is not database completion or
business success; it never changes the original decision into an ALLOW.

To stop native tools, select off in the panel. Before disabling the backend or
downgrading, let accepted operations reach a terminal state, cancel unused
Expand Down
6 changes: 3 additions & 3 deletions docs/performance/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ The following example is appropriate as a starting point for a dedicated
16-vCPU host with about 32 GiB of RAM. It is not a universal performance
profile; measure the real workload before increasing it further.

The example uses the published Server `v1.6.559` numeric tag.
The example uses the published Server `v1.6.560` numeric tag.
The image and its release assets have passed public identity and checksum readback.
See the [release note](../releases/server-1.6.558.md) and the
See the [release note](../releases/server-1.6.560.md) and the
[current release](../../README.md#current-release) for component versions and
release details. Preserve the existing runtime overrides and all three named
volumes during an upgrade or restart.
Expand All @@ -21,7 +21,7 @@ evidence is not a performance benchmark; measure the actual workload.
```yaml
services:
pasturestack-server:
image: ghcr.io/pasturestack/server:v1.6.559
image: ghcr.io/pasturestack/server:v1.6.560
restart: unless-stopped
ports:
- "8080:8080"
Expand Down
20 changes: 14 additions & 6 deletions docs/releases/server-1.6.560.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Server v1.6.560 candidate
# Server v1.6.560

Not published or runtime accepted. Install examples stay on published 559.
Both components passed required CI, same-tree merge and immutable publication.
All original public asset bytes were read back anonymously. Server assembly
and designated live acceptance remain separate pending gates.
Published image: `ghcr.io/pasturestack/server:v1.6.560@sha256:2f1533325f8314684b71062a37c9deae891e236b543a5ed7d958d698c21ff332`.

Source commit: `48c1a180e19846eb61d8a7ad60f38368e74abae1`.

The release workflow passed its source, security, startup and restart checks before publishing this image. Deployment-specific acceptance is separate and is not claimed by these build results.

## Verified component inputs

Expand Down Expand Up @@ -43,7 +44,14 @@ typed read must remain auditable after its outer write rolls back. The fix
keeps current metadata, capacity and failure behavior without nested account
locks. Source/transaction tests passed; designated live durability is pending.

## Required acceptance: pending
## Designated runtime baseline

The published digest above passed the designated 8080 cutover and one actual
Server restart. The sealed checks retained operator/JVM configuration, mounts,
AppArmor and rollback, with three active Hosts and three active Agents. This is
baseline identity/health evidence, not acceptance of the complete business flows.

## Required business acceptance: pending

The previous 558 Service-stop failure, 559 post-create collection failure and
their original reports remain recorded. No partial result is promoted to a
Expand Down