The fixture's origin commit touches only WORK-RECORDS.md, which the global
repo-manager hook rejects as generated-only; bypass hooks for that fixture
commit. Both tests had failed on every hooked workstation.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 269692@bnt-lap001
Assistant-Session: 8077e68a-0985-4b41-898c-2dc602b0d6be
Completes c7dceee. owner renew accepts settlement and max_runs and writes
policies via as_dict, so unset terms stay out of the file and digest.
Tests cover metered request settlement, reported-cost floor, unfinished
holds, the 6efa9436 reconciliation shape, overrun freeze, and three
attempts within EUR 10 with the fourth refused.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 269692@bnt-lap001
Assistant-Session: 8077e68a-0985-4b41-898c-2dc602b0d6be
owner renew validates a settled ledger, builds the new spend policy from an
envelope file of changed fields only, retires the old ledger by rename,
initializes a fresh one at the same path and rewrites the policy and
owner.json pins. Dry run by default; prints the Secrets Engine file pins.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 269692@bnt-lap001
Assistant-Session: 8077e68a-0985-4b41-898c-2dc602b0d6be
metered-once --rehearse runs the admitted runtime's launchers (and claude
--version when the build declares it) inside bwrap: runtime read-only at
the mount path, no network, cleared environment, no credentials, no claim.
Fails on the deleted-build-interpreter trampoline that failed run 6efa9436;
the corrected runtime ee3d0a53 passes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 269692@bnt-lap001
Assistant-Session: 8077e68a-0985-4b41-898c-2dc602b0d6be
The artifact transfer now accepts a repository grant v2. It still imports
exactly one commit, refuses any changed path outside
publish_scope.path_prefixes, never pushes, and records published: false
for Activity Core's publisher (hub decision 1c9817ee).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 269692@bnt-lap001
Assistant-Session: 8077e68a-0985-4b41-898c-2dc602b0d6be
Parses Activity Core's publish-capable grant: remote, branch, path
prefixes inside allowed_paths, fast-forward only. Grant id matches
activity-core 83e6446 byte for byte (test vector); v1 ids are unchanged.
Evidence adds remote, branch and fast_forward_only without raw paths.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 269692@bnt-lap001
Assistant-Session: 8077e68a-0985-4b41-898c-2dc602b0d6be
Green commit tools plus WebFetch through the sandbox proxy, for the FI
research brief Glas profile. No push, no arbitrary shell, no credentials;
granted paths stay enforced by the repository grant acceptance policy.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 269692@bnt-lap001
Assistant-Session: 8077e68a-0985-4b41-898c-2dc602b0d6be
Executes activity-core assembly-checkpoint-* runs: fast-forward the
assembly-economics checkout, run its deterministic checkpoints/run_checkpoint.py
(data via web-fetcher, optional llm-connect assessment), commit only
checkpoints/, push fast-forward (rebase once, never force; publish grant
limited to checkpoints/), post assembly_checkpoint. Out-of-window fires are
no-ops (checkpoints/schedule.md is authoritative). Selected by label
'assembly-checkpoint'. Founder-approved 2026-10-12.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1494246@bnt-lap001
Assistant-Session: caf6de6f-f9e4-47ce-a584-49baa271fa4b
Admission of the protected runtime still does not deploy or start a paid request. T05 stays wait on the unanswered activity-core lease expiry and a live tariff.
Assistant: grok
Assistant-Session: 01a11b05-37d4-7390-b2df-72297bb7ce1f
Every push from 2026-09-15 to 2026-09-22 was rejected non-fast-forward
because origin had moved; six briefs stayed local on railiance01. Per
the FI publication decision (2026-09-22), fetch, confirm that unpublished
commits touch only briefs/, rebase once and retry. Never merge or force;
a conflict aborts the rebase and fails the day.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 51320@bnt-lap001
Assistant-Session: 9d40b4c7-8e3c-42ee-b755-d658d4640d6c
FI-WP-0004 grants origin publication. Local commit without push no
longer posts fi_daily_brief (that cleared due while losing the file).
Prompt/context refuse re-announcing cataloged models and invented sizes.
Assistant: grok
Assistant-Session: 01a09c6a-1cfc-75b1-a78d-c13eaf22241d
Claude Code executes its own tools internally in --print mode -- there
is no way for a caller to externally dispatch individual tool calls
without abandoning that self-contained agent model. What
--output-format stream-json --include-hook-events does allow: observing
each tool_use/tool_result/hook event in real time.
- adapter.py: AgenticClaudeCodeAdapter gains an optional on_tool_event
callback; streaming mode (Popen + background reader thread) is used
only when set, blocking subprocess.run path is unchanged otherwise.
- runner.py: run_task gains emit_tool_events/on_tool_event, collecting
events onto RunResult.tool_events and posting a tool_call hub event
per tool when reporting is enabled.
- cli.py: --stream-tool-events flag on `run`, prints each event as a
tagged JSON line ahead of the unchanged final result block.
Live-verified against the real claude CLI: 5 real tool events streamed
correctly (2x Bash, 1x Write) plus Stop hook lifecycle events, real
commit landed, final result block unchanged. 13 new tests
(test_adapter.py + 2 in test_runner.py), all passing.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
agent_harness -> rein_aharness (package + all imports), CLI command
agent-harness -> rein-aharness, Docker image tag, k8s namespace/labels/
names, Makefile targets, deploy script env var/paths. In-repo identity
strings (hub event source, metrics harness field, default assignee,
argparse prog name, commit author identity) updated to match.
Historical documents left untouched on purpose: docs/adr/ADR-001-agent-harness-architecture.md,
docs/architecture.md (dated v0.1 snapshot), workplans/HARNESS-WP-0001
(completed under the old name), and the SSH host alias
"forgejo-agent-harness" (external ~/.ssh/config entry, not owned here).
Verified: 47/47 tests pass, CLI runs correctly from a fresh venv,
`make image` builds and the resulting container runs correctly.
deploy/README.md gained an explicit rename cutover checklist for what
this session cannot safely do unattended -- moving the host-side
secrets dir and checkout on railiance01, and not deleting the old k8s
namespace until the new one is confirmed working. The actual live
cutover (running that checklist against the real Railiance deployment)
is not attempted here -- real production surgery on binky-control's
live automation, needs the operator present.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Generate OperatingRhythm-format briefs with OpenRouter-backed llm-connect
JSON + deterministic markdown write/commit. Server path for Binky daily
rhythm without host Claude (BINKY-WP-0006-T05).
Add LLMConnectClient and mail-triage: CSV metadata → OpenRouter-backed
llm-connect JSON plan → deterministic mail-log apply + commit. Server path
for Binky mail intake on Railiance (BINKY-WP-0006).
Add intake client mapping emissions to TaskSpec, CLI poll and
run --from-issue-core, keep --task-file for local dev. Completes
HARNESS-WP-0001 workplan.
resolve_run_policy returns blueprint for persona prepare; add tenant
onboard helper script. Marks HARNESS-WP-0001-T07 done after binky
onboarding handoff.
Container image, k8s namespace/deployment/smoke job, host venv install path,
and deterministic agent-harness smoke (sandbox commit+push+hub) for remote
verification without Claude Code on the worker host.