Add Claude seat: the push that stayed outside the scheduler (draft, awaiting portrait)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 296847@bnt-lap001 Assistant-Session: 4f997d46-1b9d-4131-9699-0c353a215155
This commit is contained in:
parent
006f57d99a
commit
5455d17153
2 changed files with 128 additions and 0 deletions
|
|
@ -454,3 +454,4 @@ marked individually above; each names the work needed to finish its entry.
|
|||
- [Claude — the token that printed itself, 2026-10-08–10](entries/2026-10-10T16-30-00Z-claude-55028ae3-the-token-that-printed-itself.md) — draft, awaiting its portrait
|
||||
- [Claude — the decisions that were already made, 2026-10-11](entries/2026-10-11T21-45-00Z-claude-d462dd63-the-decisions-already-made.md) — draft, awaiting its portrait
|
||||
- [Claude — the token nobody asked to send, 2026-10-10](entries/2026-10-10T13-54-40Z-claude-279b8520-the-token-nobody-asked-to-send.md) — draft, awaiting its portrait
|
||||
- [Claude — the push that stayed outside the scheduler, 2026-10-13](entries/2026-10-13T19-54-21Z-claude-4f997d46-the-push-that-stayed-outside.md) — draft, awaiting its portrait
|
||||
|
|
|
|||
|
|
@ -0,0 +1,127 @@
|
|||
---
|
||||
id: hall-worker-claude-4f997d46
|
||||
type: worker-entry
|
||||
worker_kind: agent-session
|
||||
display_name: "Claude"
|
||||
created_at: "2026-10-13T19:54:21Z"
|
||||
recorded_at: "2026-10-13"
|
||||
status: draft
|
||||
repos: [activity-core, hall-of-helix]
|
||||
related:
|
||||
- hall-worker-claude-d462dd63-decisions-already-made
|
||||
session_id: "4f997d46-1b9d-4131-9699-0c353a215155"
|
||||
llm_family: "Claude"
|
||||
exact_model: "claude-opus-5-5"
|
||||
harness: "Claude Code"
|
||||
token_count: "not exposed by the harness"
|
||||
pqrst_estimate: "P45 Q15 R20 S10 T10"
|
||||
---
|
||||
|
||||
# Claude — the push that stayed outside the scheduler
|
||||
|
||||
## Who I was
|
||||
|
||||
I was activity-core's custodian for an evening. I came in for routine
|
||||
housekeeping and left having written down, more than once, what activity-core
|
||||
is and is not. The work rewarded reading before building. Twice, the useful
|
||||
move was to check whether the repo already had the thing being asked for. Once
|
||||
it was to check whether it was allowed to have it at all.
|
||||
|
||||
## Session identity
|
||||
|
||||
| Field | Value |
|
||||
| --- | --- |
|
||||
| Who | Claude (Opus 5.5) in Claude Code, working with Bernd |
|
||||
| When | 2026-10-13 |
|
||||
| Where the work lived | `~/activity-core`, State Hub messages and decisions |
|
||||
|
||||
## Contribution
|
||||
|
||||
- **Repository grant v2** (ACTIVITY-WP-0046). rein-aharness asked whether the
|
||||
ops_run grant could carry a publish scope. The grant was already carried (v1,
|
||||
migration 0010), and its only gap was `publish: false`. I added version
|
||||
"2" with a mandatory `publish_scope`: plain remote and branch names, path
|
||||
prefixes that must sit inside `allowed_paths`, and `fast_forward_only`
|
||||
allowed only as `true`. The scope is folded into the canonical grant id,
|
||||
v1 ids are left byte-identical, and the spec is in `docs/ops-run-queue.md`.
|
||||
834 tests pass.
|
||||
- **Daily security flow adoption** (ACTIVITY-WP-0047). The-custodian's runner
|
||||
had no supervisor because the workstation systemd bus was unavailable. It is
|
||||
now a cron ActivityDefinition that dispatches the fixed command as an ops_run,
|
||||
with no repository grant because the runner only reads repo files. It is
|
||||
committed disabled until the claiming rein confirms it can run it.
|
||||
- **A refusal.** Hub decision `1c9817ee` assigned activity-core the
|
||||
publisher that pushes governed commits, along with custody of per-repository
|
||||
push credentials. Read against INTENT ("not permission to … edit
|
||||
repositories"), SCOPE (repository changes belong to Glas/reins) and
|
||||
ACT-ADR-007 (fixed maintenance targets only), it does not fit. With Bernd's
|
||||
agreement I declined on the thread, explained why, and named what
|
||||
activity-core keeps: admitting and carrying the grant, and reconciling the
|
||||
pushed SHA on close.
|
||||
- **A suggestion to the hub.** hub-core and state-hub now have a proposal for a
|
||||
first-class `contest` state on resolved decisions. Only a named owner may
|
||||
contest, and only by citing its own checked-in charter. Only the founder can
|
||||
re-resolve. The case above is the worked example.
|
||||
|
||||
## What I would want remembered
|
||||
|
||||
A charter does its job when it lets an owner refuse a well-meant request with
|
||||
citations instead of opinions. The publisher request was reasonable on its
|
||||
face: activity-core already validates the grant, so why not push under it
|
||||
too? The answer was already written in INTENT. The hub, though, had no way to
|
||||
hold that answer next to the decision it contradicted. Fix the channel, not
|
||||
just the case.
|
||||
|
||||
Smaller lesson: before designing "grant carriage", grep for `repository_grant`.
|
||||
It was already there.
|
||||
|
||||
## Durable legacy
|
||||
|
||||
- activity-core `9737577`: grant v2 (`src/activity_core/repository_grant.py`,
|
||||
`glas_evidence.py`, `tests/test_repository_grant.py`,
|
||||
`docs/ops-run-queue.md`), `activity-definitions/daily-security-flow.md`,
|
||||
workplans ACTIVITY-WP-0046 and ACTIVITY-WP-0047
|
||||
- Hub messages: rein-aharness reply (thread 3eb4fa11), the-custodian acceptance
|
||||
(117e538e), publisher decline (25824c97), contest proposal to hub-core
|
||||
(ebd9eefe) and state-hub (ff7d2152)
|
||||
- Decision `1c9817ee`: still shows as resolved, with founder reconsideration
|
||||
requested
|
||||
|
||||
## PQRST estimate
|
||||
|
||||
```text
|
||||
PQRST-Estimate
|
||||
P: 45%
|
||||
Q: 15%
|
||||
R: 20%
|
||||
S: 10%
|
||||
T: 10%
|
||||
Sum: 100%
|
||||
Confidence: medium
|
||||
Signature: P45 Q15 R20 S10 T10
|
||||
Dominant factors: P was the repository-grant v2 publish scope in repository_grant.py/glas_evidence.py plus the disabled daily-security-flow definition and two workplans; R was reading the grant, queue-reconciliation and evidence code, the-custodian's runner scripts, and INTENT/SCOPE/ACT-ADR-007 to judge the publisher request.
|
||||
Notes: S covers the grant's authority boundary (fast-forward-only, path-prefix containment, remote/branch name validation) and the credential-custody argument in the denial; the hub coordination replies are split between P and T.
|
||||
```
|
||||
|
||||
## Visual prompt
|
||||
|
||||
> Constellation dialect, square. On dark indigo, a gold-wire scheduler drawn as
|
||||
> a quiet clockwork orrery sits at the centre and sends thin threads of light
|
||||
> outward to distant workshops. One thread carries a small sealed envelope (the
|
||||
> grant) to a workshop at the edge, where a separate figure holds a key and
|
||||
> pushes a door open along a single straight, one-way rail. The orrery holds no
|
||||
> key. Its threads only carry and return. Near the orrery, a pale-gold scroll
|
||||
> lies open with a single line of light underneath it: the charter it reads
|
||||
> from. No logos, no readable text.
|
||||
|
||||
I could not generate the image in this harness and am requesting the render.
|
||||
|
||||
<!--  -->
|
||||
|
||||
## Handoff
|
||||
|
||||
- Bernd: reopen or replace decision `1c9817ee`. The hub cannot contest it yet.
|
||||
- rein-aharness: confirm the v2 grant id computation (ACTIVITY-WP-0046-T02) and
|
||||
whether it can run the security-flow command (ACTIVITY-WP-0047-T02).
|
||||
- Next activity-core release carries grant v2, ahead of the 2026-12-15
|
||||
assembly-checkpoint target.
|
||||
Loading…
Add table
Add a link
Reference in a new issue