mesh/merge-gate pass: builds mesh-host → ace, g14, novox, shanks; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check fail: its merge-check.sh failed: --- FAIL: TestHomesAreAPersonsOrAnAgentsNotAServicesOrRoots (0.00s)
mesh/delivery superseded: a newer head of the same pull request
The search kept a two-minute limit of its own inside its 15-minute bound, so a long walk always ended incomplete; pacman was asked once per path; and find exiting with an error but some output was read as a complete walk. The bound and the not-judged reasons move to the public rootsearch package so the controller reads the same values (the review of 2026-10-09).
20 lines
1.0 KiB
Go
20 lines
1.0 KiB
Go
// Package rootsearch holds what the node-engine's search for setuid programs and the controller that reads its
|
|
// verdicts must agree on (novox/hq ADR 0266): how long one search may run, and the words a verdict starts with
|
|
// while it has no answer. Public, so the controller imports these rather than keeps copies that could drift.
|
|
package rootsearch
|
|
|
|
import "time"
|
|
|
|
// Bound is how long one search for setuid programs may run. It governs the whole search, the walk and the
|
|
// package manager's answers together; the controller does not raise an agent account as not judged while the
|
|
// first search after a start is within it.
|
|
const Bound = 15 * time.Minute
|
|
|
|
// The reasons of a root verdict the search could not answer yet.
|
|
const (
|
|
// ReasonPending starts the reason while the first search since the engine started runs.
|
|
ReasonPending = "not judged yet (search running)"
|
|
// ReasonIncomplete starts the reason when no search has finished: one failed or ran out its bound.
|
|
ReasonIncomplete = "not judged (search incomplete)"
|
|
)
|