Skip to content

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 15:15
· 44 commits to main since this release
12eee99

Changelog

Added

  • night.engine_paths names the files that make up the engine. When a chained night's
    fast-forward between nights changes one of them, the chain plans nothing, records
    chain_engine_moved and exits with code 6, so a launcher loop can install the new engine
    and start the chain again. The operating guide ships that loop.

  • With intake.issue_label set, the manager's and the fleet's pass draft task contracts
    from one labelled GitHub issue per pass, through the same drafting run torve intake
    starts. The issue is filed as a source first, and torve never writes to it.

  • An issue is drafted only when the account that last applied its label holds triage or
    more on the repository, and its title and body were not edited after that.

  • torve spec check warns, for each phase of a document nothing has landed from, about
    the files outside the phase's scope that import what it changes, and about the tests
    importing them that no acceptance command runs.

  • torve manager serve <partition> --night --chain runs nights back to back in one
    process. Between nights it fast-forwards a clean checkout on the base branch and plans
    every accepted, unimplemented document that has minted no task, except in the checkout
    its own engine runs from.

  • Under --chain, the night budget bounds a UTC day, and each night opens with what the
    day has left.

  • A seat may name a revision_variant, a configured tier. The revision that follows a
    surviving review blocker runs on that tier before the task escalates. Empty, the
    default, keeps the revision on the seat.

  • A gate manifest may name @suite. It runs the whole suite once, and a failing test
    convicts only when that test is still red at the head and not red on the merge base. A
    red the base also carries is recorded as inherited and never convicts; no command, an
    uncollected file or a red naming no test fails.

  • Every battery the lane runs is recorded as a lane.judged event, and torve why
    shows it with its failing gates' output.

  • A document's header may list fixes, the issues it fixes: a number, or owner/repo#N
    in another repository. Its pull request's body ends with one Closes line per entry,
    so the merge closes them, and torve spec check refuses an entry that is not an
    issue reference.

  • A shadow gate, evidence, names each decision row no changed test proves: one that
    cites the row and fails on the base tree but passes on the candidate. A document's
    pull request shows each row's proving tests, check, survivors and findings, and the
    reviewer asks whether each proving test exercises its row.

  • Upgrade: upgrade every host that shares a store together: 0.7.0 cannot read the
    lane.judged record a 0.8.0 battery writes.

  • Upgrade: torve init refreshes .torve/schemas/ for revision_variant,
    intake.issue_label, night.engine_paths, a document's fixes and @suite. A seat
    whose harness image names {torve} runs the 0.8.0 images the tag's publish workflow builds.

Changed

  • The review-thread leg refuses a thread as asking for a command only when it names one:
    a run, execute, invoke or install verb with a code span beside it, or a shell code block.
    The word alone in prose, as in "before a run starts", no longer sends a finding to a
    person.

  • An open document's pull request is rebased, and its battery run again, only when the
    base's new commits conflict with it or change a file it changes. A merge that touches
    neither leaves it as judged.

  • The lane's re-gate after a rebase and its completion battery run only blocking and
    decision gates, plus evidence and mutation on the completion battery. A rebased
    candidate whose only failing tests also fail on its base lands.

Fixed

  • A contract that inherits rows from an accepted document nothing has landed from carries
    them without their checks. Those checks select code that does not exist yet, so they
    failed on every review round and draft that touched the row's paths.

  • torve log land run with no execution log on disk records the work commit's parent as
    the landing's base. It used to record the work commit as its own base.

  • A task whose document was merged on the forge is not landed again, even when the
    served checkout's own tree has not caught up. The lane used to cut the document branch
    again from main and try to land the merged tasks onto it.

  • A document pull request's merge is recorded once. While its branch stayed on the
    remote, a served night used to record the same merge again on every pass.

  • torve intake and torve adopt run git with repository hooks off, as the rest of
    torve does. A drafting run's own refusal is no longer reported as a configuration error,
    and an issue whose drafting run never started is tried again on the next pass.

  • A decision row's check runs only when the diff touches the row's paths or a file the
    check names. A row that a later phase of the same document builds no longer fails its
    check in each earlier phase, and those attempts no longer owe a log entry.

  • The review-thread leg answers a refusal once per thread. It used to reply to its own
    replies, and could loop with a review bot.

  • A document whose contracts were minted into the record, with no contract file in the
    checkout, completes. The lane reads each task's contract from the files it landed, and
    a verify holdout no landing placed turns the completion battery red.

  • A requeued task whose document branch moved past its checkpoint starts from the
    branch's tip. It used to resume a tree without what had landed since, and fail on its
    absence.

  • A phase's contract lists, among its contingent paths, the files the manifest's
    scope.derived map pairs with its sources.

  • Two manager workers on one checkout no longer escalate a task when both cut
    a worktree at once. The second waits for the first, and a cut no longer
    writes .git/config, so a lock another git holds there cannot refuse it.

  • A document that names another in after: no longer waits forever on the named
    document's review records, which never land. Its first phase waits on the
    implement, verify and revert tasks alone, and a task already minted with such an
    edge starts once those tasks land.

  • The review-thread leg takes a new thread beside an answered one as a new finding when
    another reviewer opened it. Only the answered reviewer's own thread there is escalated
    as a re-raise.