Commit graph

46 commits

Author SHA1 Message Date
71608c06f2 Fix FI brief rebase tests failing under the fleet pre-commit hook
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
2026-10-14 02:03:14 +02:00
c04d1c62dd Observed-usage settlement: tests, renewal support and docs (REINAH-WP-0008-T02)
Some checks failed
Governed runtime contract / contract (push) Failing after 11s
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
2026-10-14 01:54:51 +02:00
b48c715e9a Add one-command owner envelope renewal (REINAH-WP-0008-T03)
Some checks failed
Governed runtime contract / contract (push) Failing after 12s
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
2026-10-13 23:24:24 +02:00
caaea1e90e Add free bwrap rehearsal to the owner check (REINAH-WP-0008-T01)
Some checks failed
Governed runtime contract / contract (push) Failing after 10s
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
2026-10-13 23:13:49 +02:00
5c36d80756 Import publish-grant runs locally; leave the push to Activity Core (ACTIVITY-WP-0046-T02)
Some checks failed
Governed runtime contract / contract (push) Failing after 11s
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
2026-10-13 21:43:00 +02:00
4695649cc6 Accept repository grant v2 with publish scope (ACTIVITY-WP-0046-T02)
Some checks failed
Governed runtime contract / contract (push) Failing after 12s
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
2026-10-13 21:21:24 +02:00
820d33ba1e Add green-research-commit tool profile (GLAS-WP-0016-T03)
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
2026-10-13 21:18:06 +02:00
06bd08cfa5 Add assembly-checkpoint approach (ASSEMBLY-WP-0010)
Some checks failed
Governed runtime contract / contract (push) Failing after 10s
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
2026-10-12 18:44:33 +02:00
e5396bda51 Record fixture recovery, rate, and queue-injection evidence.
Some checks failed
Governed runtime contract / contract (push) Has been cancelled
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
2026-10-08 12:28:56 +02:00
43e621439a fix: reject broken runtime launchers and preserve failed proof evidence
Some checks failed
Governed runtime contract / contract (push) Failing after 16s
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e387-534d-70e3-ad53-4ea05676db8c
2026-09-27 23:19:50 +02:00
294201a367 fi-research-brief: rebase once onto a moved origin instead of stranding briefs
Some checks failed
Governed runtime contract / contract (push) Failing after 33s
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
2026-09-22 16:25:34 +02:00
11020e8f00 Publish FI briefs to origin or fail the day
Some checks failed
Governed runtime contract / contract (push) Failing after 26s
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
2026-09-13 22:45:43 +02:00
565b07716a Bootstrap one metered owner cycle against a pinned standalone runtime
Some checks failed
Governed runtime contract / contract (push) Failing after 23s
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
2026-09-09 22:56:38 +02:00
3e4c976090 Bind the metered owner route to worker leases and sandbox lifecycle
Some checks failed
Governed runtime contract / contract (push) Failing after 23s
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
2026-09-09 22:24:37 +02:00
c30806b968 Reserve provider requests inside the durable worker envelope
Some checks failed
Governed runtime contract / contract (push) Failing after 31s
Assistant: codex
Assistant-Model: gpt-5.6-luna
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
2026-09-09 21:50:12 +02:00
4ae245a88f Constrain controlled CLI sessions and prove native budget overshoot
Some checks failed
Governed runtime contract / contract (push) Failing after 27s
Assistant: codex
Assistant-Model: gpt-5.6-luna
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
2026-09-09 20:53:25 +02:00
38b25fbc26 Reserve worker spend durably before governed dispatch
Some checks failed
Governed runtime contract / contract (push) Has been cancelled
Assistant: codex
Assistant-Model: gpt-5.6-luna
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
2026-09-09 17:58:27 +02:00
c63caf5568 feat: import governed sandbox commits and enforce native CLI limits
Some checks are pending
Governed runtime contract / contract (push) Waiting to run
Assistant: codex
Assistant-Model: gpt-5.6-luna
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
2026-09-09 14:08:10 +02:00
44f5bb9d88 feat(runtime): heartbeat immediately after claim
Some checks failed
Governed runtime contract / contract (push) Failing after 1s
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06ba0-10aa-7ea0-b20a-4f3fac39efe9
2026-09-04 20:38:01 +02:00
4310c15eac feat(deploy): gate claims on pinned runtime readiness
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06ba0-10aa-7ea0-b20a-4f3fac39efe9
2026-09-04 20:08:37 +02:00
d00ffcb402 feat(runtime): consume governed Activity Core closes
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06ba0-10aa-7ea0-b20a-4f3fac39efe9
2026-09-04 19:54:07 +02:00
aedfadda0b fix(runtime): restore Binky OpenBao discovery
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06bfe-2a55-7ed3-bacd-879977b099bf
2026-09-04 17:46:10 +02:00
20e6f381f6 feat(runtime): enforce governed mutation boundaries
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06ba0-10aa-7ea0-b20a-4f3fac39efe9
2026-09-04 11:25:07 +02:00
custodian-sync
f01b765668 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-09-04:
  - update .custodian-brief.md for rein-aharness

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06ba0-10aa-7ea0-b20a-4f3fac39efe9
2026-09-04 11:00:20 +02:00
84b4089f8a Classify heartbeat lease failures
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
2026-08-23 14:42:30 +02:00
ad4074c20a Handle lease loss during adapter errors
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
2026-08-23 14:40:29 +02:00
75f4914777 Refuse close after lease loss
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
2026-08-23 14:37:18 +02:00
9097d69e1d Expose lease loss to execution boundaries
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
2026-08-23 14:16:11 +02:00
c97e5ea92d Build durable close evidence outbox
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
2026-08-23 14:05:50 +02:00
8cb004a558 Define repository grant contract
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
2026-08-23 13:23:50 +02:00
2e16504e1f Validate repository transaction results
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
2026-08-23 12:58:07 +02:00
eaae4357eb Build repository transaction core
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
2026-08-23 12:31:13 +02:00
c6332916c2 fix: separate Glas actor from claim worker identity
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
2026-08-23 01:33:30 +02:00
db588010f7 fix: back off after ops claim errors
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
2026-08-22 23:59:02 +02:00
0f01c3e421 feat: route profiled ops runs through Glas
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
2026-08-22 23:55:29 +02:00
8e98eada89 Add Binky weekly review approach 2026-08-08 21:26:29 +02:00
8200a672ea Implement REIN-A-0002 ops_run claim loop and approach registry.
Add activity-core ops_run client, approach selection (FI/Binky/mail/agent),
claim-loop worker with lease heartbeat, CLI run --from-ops-run and claim-loop,
install units, and docs demoting issue-core to legacy external tickets.
T05 timer cutover remains operator after five clean cycles.
2026-08-03 20:04:25 +02:00
6c4f00e2c2 Add real-time per-tool-call audit streaming (HARNESS-WP-0002-T03)
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>
2026-07-26 14:49:36 +02:00
f6930ad115 Rename package, CLI, and deploy artifacts to rein-aharness (HARNESS-WP-0002-T02)
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>
2026-07-26 14:22:18 +02:00
f770825975 feat: brief-daily via llm-connect (structured daily brief)
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).
2026-07-22 00:18:52 +02:00
7520a53831 feat: mail-triage via llm-connect (no host Claude)
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).
2026-07-22 00:05:23 +02:00
66ccd4fa01 feat: issue-core task intake poll/claim/run (HARNESS-WP-0001-T03)
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.
2026-07-18 11:30:40 +02:00
154e535695 feat: blueprint-aware policy resolve for multi-instance tenants (T07)
resolve_run_policy returns blueprint for persona prepare; add tenant
onboard helper script. Marks HARNESS-WP-0001-T07 done after binky
onboarding handoff.
2026-07-18 11:07:10 +02:00
67f1791491 feat: Railiance package and deploy (HARNESS-WP-0001-T06)
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.
2026-07-18 10:48:44 +02:00
4144eba160 feat: instance manifest, tool profiles, metrics, and budget enforcement
Land HARNESS-WP-0001 T01/T02/T04/T05: extend ADR-005 schedule.yml with
harness fields, named tool-profile registry, ADR-004 metrics writes, and
BudgetTracker wiring. CLI gains validate/profiles; task-file path kept.
2026-07-17 23:49:03 +02:00
cfc1b75157 Harness foundation: INTENT, ADR-001, architecture, prototype adoption
- INTENT.md: three-layer model (blueprint/instance/harness), single
  shared runtime, never-become boundaries
- ADR-001 (accepted): DEC-2026-002 resolution — one harness repo for
  all projects; instances are declarative state in consuming repos
- docs/architecture.md: components, contracts (manifest, tool
  profiles, completion events, credential lanes), deployment shape
- agent_harness/: executor-worker prototype adopted and renamed
  (6/6 tests green); HARNESS-WP-0001 initial workplan (7 tasks)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 23:35:27 +02:00