These files carried no type field at all. Selection is by 'type: workplan', so
they were invisible to every projection while the hub held a record for each —
and a forge-derived reset read those correct records as no longer deriving and
queued them for retirement.
Only the type line is added.
Refs STATE-WP-0083-T05
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
Updated by fix-consistency on 2026-08-25:
- update .custodian-brief.md for rein-openweights
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
Identifiers predating the PREFIX-WP-NNNN convention were rejected by the canon
registry, so none of this repository's work records could be registered.
One prefix per repository (ADR-007). Existing conforming identifiers keep their
numbers where possible; the pre-convention records take the next free numbers
rather than renumbering work that was already correct.
Projection UUIDs are re-derived from the new canonical ids (ADR-007 decision 2).
Nothing was registered on central under the old identifiers, so no hub record is
orphaned by this.
Refs CUST-WP-0068-T03
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
Records absent from central carried random pre-ADR-007 identifiers minted by
the retired local hub, which C-06 refused as stale references. Deriving from
the canonical record id takes no identity from anything.
Refs CUST-WP-0068-T06
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
Sector domain and category decided with the repository owner on 2026-08-25.
Classification is not mechanical: the sector describes intended users, so a
confident wrong value is harder to correct than a missing one.
Refs CUST-WP-0067-T05
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
The remote row pointed at 127.0.0.1:18000, a reverse tunnel back to the
workstation. On railiance01 the State Hub runs in the cluster on that same
machine, so the request left the box and came back to reach a local service.
Refs CUST-WP-0067-T07
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
Maintainer decision, 2026-07-29: adopts TRSL V1C1 as this repo's
preliminary governing license, per target-revenue's
workplans/TREV-WP-0008-governance-and-pilot-rollout.md T05. Full
specialist legal review is deferred until out of beta (target-revenue
SCOPE.md §1). No Phase is yet declared for this repo.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Real AppRole login, real KV v2 read, real OpenRouter call, real commit,
with OPENROUTER_API_KEY explicitly unset. Full build record in
ops-mason/plans/rein-openweights-openrouter-approle.md.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Kept the local README (richer, describes the actual implementation)
over the stub's placeholder one-liner; the MIT LICENSE from the stub
merges in cleanly, matching the sibling rein repos.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Real ext.bwrap sandbox, real OpenRouter call (qwen/qwen-2.5-72b-instruct),
real 2-turn tool-calling loop, real verified commit. Credential reused
the OPENROUTER_API_KEY already in the environment via credentials.py's
env-var short-circuit -- no OpenBao round trip needed this time.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Implements T01-T04:
- tools.py: green-commit-only-equivalent tool surface (read/write/edit/
glob/grep + git status/diff/log/add+commit), path-traversal guarded.
- openrouter_client.py: own minimal chat-completions client — llm-connect's
OpenRouterAdapter takes a single prompt string and never surfaces
tool_calls, so it can't drive a multi-turn tool-calling loop without a
breaking change to its frozen Core ABC. llm-connect stays an optional
dependency (pyproject.toml), not load-bearing.
- loop.py: plan -> tool call -> observe -> repeat, budget- and
turn-bounded, tool errors reported back to the model instead of
crashing the loop.
- credentials.py: own OpenBao AppRole/ambient-token acquisition, per
glas-harness ADR-002 (Option B) — glas-harness does not broker this.
- runner.py/hub.py: commit-verified success criterion + State Hub
progress/token reporting, mirroring rein-aharness's model.
26 tests, all mocked at the httpx/subprocess boundary — no real
OpenRouter or OpenBao calls made. T05 (Forgejo repo creation) stays
open, deferred to the operator.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Agentic tool-use harness for current open-weight models via OpenRouter/
llm-connect, as an alternative to frontier-model-vendor harnesses
(Claude Code, Grok CLI, Codex/GPT CLI). Chartered by glas-harness
ADR-001. Local scaffold only, no Forgejo remote yet.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>