Skip to content

Releases

host-arm64-abcc8bbedecaa4989337bc7d

Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 03:22
c3ab787

bootstrap for aarch64-unknown-linux-gnu, built from rust/host at c3ab787.

host-abcc8bbedecaa4989337bc7d

Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 03:21
c3ab787

bootstrap for x86_64-unknown-linux-gnu, built from rust/host at c3ab787.

host-arm64-7e8a15ba37dab203c6d13f21

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 21:36
79a7b17

bootstrap for aarch64-unknown-linux-gnu, built from rust/host at 79a7b17.

host-arm64-0dfc38017519058b568fca86

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 22:22
f475e00

bootstrap for aarch64-unknown-linux-gnu, built from rust/host at f475e00.

host-7e8a15ba37dab203c6d13f21

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 21:35
79a7b17

bootstrap for x86_64-unknown-linux-gnu, built from rust/host at 79a7b17.

host-0dfc38017519058b568fca86

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 22:24
f475e00

bootstrap for x86_64-unknown-linux-gnu, built from rust/host at f475e00.

host-arm64-4bc94a28385029ae7076bbf6

Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Nov 17:27
549dc5f

bootstrap for aarch64-unknown-linux-gnu, built from rust/host at 549dc5f.

host-4bc94a28385029ae7076bbf6

Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Nov 17:28
549dc5f

bootstrap for x86_64-unknown-linux-gnu, built from rust/host at 549dc5f.

hecks 7.1.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 00:29

Added

  • hecks narrate tells each goal in a domain's .examples files as a use case (ADR 0173). The narration ends with a "Use cases" section: the goal, its main scenario, then its extensions, every line quoted from the file. NarrateProjector takes the files as options[:examples].
  • A Goal: in an .examples file gathers its examples into a use case (ADR 0173). It names a goal a Background: person pursues; the first example under it is the main scenario and the rest its extensions. hecks-parse examples refuses a main scenario that ends in a refusal (goal_without_success) and an extension that calls a command the main scenario never does (extension_off_path); the compiled .behaviors text is unchanged.
  • examples/order_deadline shows a deadline reaching a saga as an ordinary command (ADR 0169). An order holds the instant it falls due (needs :now, sets :due_at, to: now + 259200); Expire refuses until then; the Fulfilment process manager frees the held stock when OrderExpired arrives, dispatching from the handler because an expiry is not a refusal. It has behaviors, a corpus script and Ruby/Rust parser parity.
  • An adapter may say stays_inside, and a behaviors suite then loads adapters by it (ADR 0171). The word, in the Adapter grammar and hecks-parse adapter alike, says the adapter reaches no network, model or host; the exported adapter JSON carries "stays_inside": true. A suite whose project opts in (a behavior_adapters/ directory beside it, or any project adapter saying the word) loads the project adapters that stay inside plus its stand-ins, a stand-in taking its port, and never runs the code of one that does not say it: the declaration is read with its require lines left out. Other suites boot as before. Hecks.boot_files takes adapters: to load exactly the files given. spec/behaviors/adapter_selection_spec.rb pins it.
  • A bluebook's classification keys two model_check findings (ADR 0172). generic_depends_on_core (error) reports a context classified generic that depends on one classified core, read from Projections::ContextRelationships and run without a .contextmap; core_conforms (warning) reports a relationship a .contextmap declares conformist whose downstream context is core, never the conformist ADR 0155 implies for an attaches, and a relationship may acknowledge it. Each booted system is judged with its own classifications. core, supporting and generic now mean the subdomain kind; Hecks's own bluebooks raise neither finding. spec/classification_checks_spec.rb pins both.
  • After a push, the worktrees that landings left behind are listed, and nothing is removed. A new policy ListLeftoversWhenPushed asks the Leftovers port (adapter GitLeftovers) on SendTrain.BranchPushed. The adapter names each worktree whose branch Landing recorded as landed and that is still there, with Tidy's own verdict: <branch>: would retire it, or would keep it: <why>. A worktree that was merely opened has no landing row and is never named. Nothing is removed because a clean worktree looks the same whether its session is finished or still working in it; retire! or discard! does the removal. The answer event is LeftoversListed (LeftoversRefused when the checkout cannot be read).
  • Behavior change: boot refuses a saga less durable than the aggregates it moves (ADR 0170). verify! reads every declared bluebook and refuses, as a WiringError naming the process manager, the aggregate and its adapter, a process manager whose checkpoints resolve to the null saga store while one of the aggregates its legs or compensations dispatch to is kept by an adapter other than Memory (a RemoteRuntime bind is exempt). An all-Memory domain is unchanged and keeps its boot warning. A domain with no hecksagon now resolves its saga store through BindingPolicy, so a world default_adapter that keeps its records keeps its sagas too, where before it fell to the null store silently. spec/runtime/registry/forgetful_saga_refusal_spec.rb pins both.
  • Landing.discard! removes a worktree and its branch although main lacks the branch's commits. It needs reason.value=… (free text, kept on the record) and --confirm, and refuses by name what retire! refuses: main, stable, edge and the target, the main checkout, the worktree the process stands in, a locked worktree, a branch another worktree holds, a branch that moved after it was checked, and any uncommitted or untracked file. Its report names the tip the branch was at and how many commits main lacked (it was at <sha> with N commit(s) not on main; reason: …), so the commits stay findable by sha until git prunes them. Events are DiscardRequested, WorktreeDiscarded and DiscardDeclined. retire! is unchanged, and an agent runs discard! only on a branch the owner has asked it to discard.

Changed

  • Landing.retire! and the tidy after a landing count a branch as merged when main carries every commit it adds under another id. The check was commit ids only, so a branch rebuilt after a conflict, cherry-picked or rebased onto main was kept for ever. It now asks git cherry and counts only the commits that have no patch-equivalent on main, so the refusal names the number that are really missing. An ignored or untracked file in the worktree still keeps it, as before.
  • The rspec and Postgres io shards are balanced from the last successful main run's timings, with no committed baseline. A shard_plan job runs the CiSpeed ShardPlan aggregate (Request, RecordTimings; events ShardPlanRequested, TimingsFetched, TimingsUnavailable, ShardPlanned, TimingsRecorded), splits the files once with the shared Hecks::Tools::ShardPlanner and every leg reads that plan; timings that cannot be read fall back to file size through a policy and never fail the run. Removed: runtime-baseline-refresh.yml, test_suite_run.refresh_runtime_baseline! (the RefreshRuntimeBaseline command and its refresh_rspec_runtime_baseline tool) and the committed .github/rspec_runtime_baseline.log and .github/postgres_io_runtime_baseline.log. The fuzz shards keep spec/fuzzing/fuzz_runtime_baseline.log and now deal with the same planner.

host-b758f2b55e947a411e6189a9

Pre-release

Choose a tag to compare

bootstrap for x86_64-unknown-linux-gnu, built from rust/host at 3bc258e.