Skip to content

v0.2.0

Choose a tag to compare

@eyelock eyelock released this 08 Oct 10:11
· 24 commits to develop since this release
2774840

ynf v0.2.0

Shadow mode

  • ynf shadow run --auto-approve lets a shadow run grant edits on the host.
  • Shadow mode measures a lane's yield against closed tickets: it replays the lane on the commit before a human fix, grades the attempt, and changes nothing outward.

Runner detection, and finding tools only on PATH

  • A lane with no runner uses ynh when it is detected, and otherwise runs its command.
  • ynf finds ynh and ynr only on PATH, like any other command.

Sensor scope

  • sensor_scope may only narrow a declared sensor. It can no longer replace one, but it may keep the declared environment prefix verbatim.

Memory

  • Memory writes queue while ynm is down and are sent when it is back.
  • Failure memories carry what the run reported, so memory can explain a failure. Failure records end with a full stop.
  • ynm's store is found as ynm finds it: the git root, then YNM_HOME or ~/.ynm, with no walk up.

OpenTelemetry on ynr's contract

  • Steps are traced as ynf.step spans on ynr's OpenTelemetry contract.
  • Intake events are mirrored as CloudEvents.
  • Each run gets its own spool folder, which can be its own volume, and a run's manifest names its user.
  • ynr serve collects a factory job.
  • Quotas apply to what a run spools.
  • A job cleans up run volumes left behind by a ynf that was killed.
  • ynr conformance and the full-chain trace check run in CI.

Harnesses

  • A lane whose harness is a folder runs on the process and inline executors, as well as the others.
  • A harness pin's host/path form is normalised to https.
  • On the host, a harness pinned from git runs without a copy, and an unreadable harness folder is an error.
  • A folder harness goes straight to ynh when ynh reports agent-run-harness-path, and it supports git includes.

PR checks

  • ynf reads every required check, including those set by rulesets, by App, and across pages.
  • A PR whose required checks are never reported stays proposed.
  • No-CI escalation: a PR with no CI is warned about, and can be escalated after a delay.

Item references and reasons

  • Short references find adopted PRs, and items show the latest reason.
  • --version is supported.
  • A sweep that finds nothing now says so, with a hint.
  • Calibration runs after e2e, and skips a fixture with no fixed state, saying why.

The public repository

  • ynf is now public. The private plumbing is gone, Terraform keeps the repository public, and security and conduct concerns go to support@eyelock.net.

Pinned: ynh 0.12.0, ynm 0.4.1, ynr 0.2.2.

Upgrading from 0.1.0

  • YNF_YNH_BIN and YNF_YNR_BIN are removed. Put ynh and ynr on PATH.
  • Lanes have an id field.
  • There is a new telemetry config.
  • calibrate.skip is new.
  • no_ci_after and when.no_ci are new.
  • ynm is detected only when a store is configured.
  • ynf shadow run --auto-approve is new, for granting edits to a shadow run on the host.
  • Replaying retry decisions recorded before 0.2.0 shows a wording difference in the reason.

Install

brew install eyelock/tap/ynf, or ghcr.io/eyelock/ynf-factory:0.2.0.