glas-harness/workplans/GLAS-WP-0016-fi-research-brief-profile.md
tegwick 0bc83070f5
Some checks failed
ci / validate (push) Failing after 3m13s
GLAS-WP-0016/0017: record operator decisions on publisher, host install and assembly shape
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 269924@bnt-lap001
Assistant-Session: 02bbdd77-e96c-4580-8952-f4dc9d8a8508
2026-10-13 21:18:42 +02:00

5.5 KiB

id type title domain repo status flavor owner topic_slug created updated state_hub_workstream_id
GLAS-WP-0016 workplan Versioned Glas profile for the FI daily research brief infotech glas-harness blocked implementation claude fi-research-brief-profile 2026-10-13 2026-10-13 1254b220-fd97-5c84-a0e0-ef2de10972c4

FI daily research brief profile

Request: freedom-intelligence message c7f2df46 (FI-WP-0005-T05, 2026-09-22) asks for harness.fi-research-brief@1.0.0. FI's profile-absent routing expires 2026-12-31; FI-WP-0005-T07 wires the canary only after a positive sandboxed proof run. Owner declaration: freedom-intelligence/activity-definitions/fi-daily-research-brief.declaration.yaml. Egress list: freedom-intelligence/docs/sources-egress.yaml (17 hosts, :443). Publication design: docs/publish-grant-design.md.

Add the Glas profile harness.fi-research-brief@1.0.0

id: GLAS-WP-0016-T01
status: done
priority: high
state_hub_task_id: "e49776ae-a28a-527f-aece-1f08a05c044a"

Add profiles/harness.fi-research-brief.yaml: rein-aharness, session_style unattended, model_class frontier, model pinned by Glas (same pin as harness.agent-dev-local 1.1.1 unless the operator chooses otherwise), limits timeout 1800s / max_turns 60, max_budget_usd inside an accepted spend envelope, sandbox profile from T02, tool profile from T03, documented rollback pin. operational_readiness.status: unverified until T04 passes. Catalog validation (glas-harness profiles) and tests must pass. Depends on T02/T03 names being agreed, not on their release.

2026-10-13: added profiles/harness.fi-research-brief.yaml with readiness blocked (runs refuse before sandbox creation) until T02/T03 land; catalog snapshot test updated, 139 tests pass.

Add the sand-boxer egress sandbox profile

id: GLAS-WP-0016-T02
status: wait
blocked_on: message-from:sand-boxer
blocking_reason: "Handoff 744aa305 sent 2026-10-13; await sand-boxer profile.bwrap-fi-research."
priority: high
state_hub_task_id: "d79ad740-eec6-5e93-9d90-49475982a900"

Owner: sand-boxer. Request a bwrap profile (working name profile.bwrap-fi-research) with network.default: deny and network.egress equal to the model route plus exactly the 17 hosts in FI's sources-egress.yaml, per sand-boxer/docs/bwrap-egress.md (exact lowercase DNS names, :443, no wildcards or IP literals). Owner config allowed_egress must be a superset. Glas sends the handoff and records the owner's return. Handoff sent 2026-10-13 as message 744aa305.

Add the rein-aharness research tool profile

id: GLAS-WP-0016-T03
status: wait
blocked_on: message-from:rein-aharness
blocking_reason: "Handoff 229b603e sent 2026-10-13; await rein-aharness tool profile green-research-commit."
priority: high
state_hub_task_id: "cd49e97f-13f4-5563-a7cf-68f7a138bd85"

Owner: rein-aharness. Request a tool profile (working name green-research-commit): read/edit tools, HTTPS fetch through the sandbox proxy, git add/commit/status/log/diff limited to granted paths (briefs/**), no push and no arbitrary shell. Publication is not part of the tool profile; it is the deterministic publisher step in docs/publish-grant-design.md. Handoff sent 2026-10-13 as message 229b603e.

Prove one sandboxed run and mark the profile ready

id: GLAS-WP-0016-T04
status: wait
depends_on: [GLAS-WP-0016-T02, GLAS-WP-0016-T03, GLAS-WP-0016-T05]
priority: high
blocking_reason: "Depends on T02/T03 (owner handoffs); publisher owner decided (T05)."
state_hub_task_id: "6faf1b1c-164d-5d6d-8dad-6cf920a5fd6c"

Run one bounded brief through the profile inside the sandbox: egress limited to the declared hosts, exactly one new file under briefs/, one commit, no push from the session. Publish evidence under docs/evidence/, then set operational_readiness.status: ready and notify FI for FI-WP-0005-T07.

Operator decision: owner of the publish-grant publisher

id: GLAS-WP-0016-T05
status: done
needs_human: true
decision_id: 1c9817ee-95da-4165-985e-43fa61ec4827
priority: high
blocking_reason: "Operator decision: which subsystem owns the deterministic publisher (recommendation: Activity Core)."
state_hub_task_id: "e91fa370-236e-56c8-b88d-3272aec40dc1"

docs/publish-grant-design.md defines one path-scoped publish grant for FI and assembly-checkpoint. Open: who owns the publisher step and its push credentials. Recommendation: Activity Core. Resolve before T04 publishes.

2026-10-13: resolved by the operator (decision 1c9817ee): Activity Core owns the publisher and push credentials. activity-core notified (message 25824c97).

Operator decision: is a sandboxed pinned agent a host installation?

id: GLAS-WP-0016-T06
status: done
needs_human: true
decision_id: ab16cacd-9739-4080-a55e-b6e8ab8f33e7
priority: high
blocking_reason: "Operator decision on FI's playbook question; FI decides its rhythm on that basis."
state_hub_task_id: "d1584459-dd09-5f60-b298-0c56c2a300b0"

FI's playbook forbids installing Claude Code / Codex on railiance01 for this rhythm. Question: does a pinned agent executable that runs only inside the Glas bwrap sandbox count as a host installation? Glas view: no. The binary is a pinned runtime artifact owned by rein-aharness/sand-boxer, not on the host PATH, not user-installed, carries no host credentials and runs only under deny-default egress. Answer FI explicitly once the operator decides.

2026-10-13: resolved by the operator (decision ab16cacd): not a host installation. FI answered explicitly (reply e12edd5b).