7f12c7fc37
The v3 stack, previously an uncommitted working tree, plus this session's two units and the burn-in instrument. This commit is the burn-in build identity: coordinator and worker must both report this revision before a task is created. Workflow (earlier sessions, uncommitted until now): human decision events and reduction, source cursors and reconcile-before-launch, turn-boundary reconciliation, internal/agentctx as the single renderer, ace-fca phases with sealed artifacts, the trajectory gate, bounded grilling, independent review, task pr enforcement, and human review reflection. Capability restrictions at the agent boundary: an authz.Agent surface at GatedWrite may ask and may not act. It also fixes two bugs the unit exposed -- gated surfaces could not reach the two endpoints written for them, and RequestHumanDecision would block an unowned task while rejecting a question from the session that did own it. Turn-boundary reconcile-failure escalation: a streak of consecutive failures asks the session to hand off, fenced on the lease epoch, with reconcile_failure as a real handoff reason. The worker was dropping the coordinator's verdict on the floor; it now acts on it. Burn-in: herdr.WriteLaunchContext dumps the exact agentctx.Build result to <worktree>/.orchestra/launch.md at every launch, local and federated. BURNIN.md is the runbook. deploy/build.sh stamps both binaries from one commit. go build, go vet and go test ./... pass, 20 packages. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
23 lines
957 B
Bash
Executable File
23 lines
957 B
Bash
Executable File
#!/bin/sh
|
|
# Build the coordinator and the worker from one commit, with one stamp, so a
|
|
# burn-in run can never pair a new coordinator with an old worker. Both
|
|
# binaries then report the same revision at /v1/admin/diagnostics and in the
|
|
# worker's registration, which is what makes deployed identity evidence rather
|
|
# than assumption.
|
|
#
|
|
# Usage: deploy/build.sh [outdir]
|
|
set -eu
|
|
out=${1:-./build}
|
|
cd "$(dirname "$0")/.."
|
|
if ! git diff --quiet || ! git diff --cached --quiet; then
|
|
echo "refusing to stamp a dirty tree with a commit revision" >&2
|
|
exit 1
|
|
fi
|
|
rev=$(git rev-parse HEAD)
|
|
built=$(git show -s --format=%cI HEAD)
|
|
flags="-s -w -X orchestra/internal/buildinfo.Revision=$rev -X orchestra/internal/buildinfo.Time=$built -X orchestra/internal/buildinfo.Dirty=false"
|
|
mkdir -p "$out"
|
|
go build -trimpath -ldflags="$flags" -o "$out/orchestra" ./cmd/orchestra
|
|
go build -trimpath -ldflags="$flags" -o "$out/orchestra-worker" ./cmd/orchestra-worker
|
|
echo "$rev"
|