Skip to content

v1.3.0

Choose a tag to compare

@b10x-bot b10x-bot released this 11 Nov 23:54
· 109 commits to main since this release

Stories implemented since v1.2.0:

  • daemon-probes-and-metrics: the daemon answers /healthz, /readyz and /metrics without a bearer; readiness is 503 with the reason while the store does not answer or the config is not read; the metrics are in the Prometheus text format (instances and sessions by state, snapshot age, build queue length).
  • container-start-without-prompt: a daemon whose config says daemon.unattended seeds its records, the trust of its checkouts and the worktree workspace at its start, each only where it is missing, and serves its probes while it seeds. The model token is read from a read-only files secrets source, a directory of mounted files. With no user systemd manager a runtime at placement: none is a child process of the daemon. daemon.address names the listener's address; off loopback every /v1/ path asks for a bearer.
  • doctor-checks-guard-forge-writes: conductor doctor asks the guard about one forge write per role and prints allowed or denied with the guard's rule; a denied role makes the verdict not ready. conductor setup --apply writes the forge route it reads from the origins of the checkouts under the root.
  • need-repository-from-tag: a NEED's repository is read from its tag, without trailing punctuation; a NEED for a repository the instance does not hold is refused in one line.
  • handover-restart-by-controller-id: a pending hand-over restart holds the controller id it was asked of and is dropped once the repository's controller has another id; the loop never stops a session started after the entry's delivery.

Also in this release:

  • A container image: this is the first release whose workflow builds and pushes ghcr.io/beyond10x/conductor:<version>; the guide is website/docs/guides/run-in-a-container.md.
  • Every process a runtime starts is built without the slot variable of a boxed runtime, and the daemon's token reaches a boxed runtime through a sealed slot.
  • SETUP.md step 5: the planning store is migrated in the repository's own checkout, not in a worktree of it, and steps 6 to 8 go on while the person decides on the migration (found by this release's onboarding runs, docs/analysis/onboarding-run.md).

Known limits: a boxed runtime cannot reach a forge host yet (one egress aperture per box in the substrate SDK); on substrate-daemon 0.20.0 a runtime at placement: systemd does not serve its API, as in v1.2.0; the local clients do not follow daemon.address.

Container image

ghcr.io/beyond10x/conductor:1.3.0 at digest sha256:367e10eb4f8edccb5c9c8d0c6da6d1cc807ce880bbdfdafc355e1c40a403abda

docker run --rm ghcr.io/beyond10x/conductor:1.3.0 conductor --version