Repository navigation
v0.8.0
Changelog
Added
-
night.engine_pathsnames 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_movedand 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_labelset, the manager's and the fleet's pass draft task contracts
from one labelled GitHub issue per pass, through the same drafting runtorve 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 checkwarns, 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 --chainruns 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.judgedevent, andtorve why
shows it with its failing gates' output. -
A document's header may list
fixes, the issues it fixes: a number, orowner/repo#N
in another repository. Its pull request's body ends with oneClosesline per entry,
so the merge closes them, andtorve spec checkrefuses 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.judgedrecord a 0.8.0 battery writes. -
Upgrade:
torve initrefreshes.torve/schemas/forrevision_variant,
intake.issue_label,night.engine_paths, a document'sfixesand@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, plusevidenceandmutationon 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 landrun 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 intakeandtorve adoptrun 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.derivedmap 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.