114 lines
5.1 KiB
YAML
114 lines
5.1 KiB
YAML
|
|
# Owner declaration — fi-daily-research-brief (FI-WP-0005-T01)
|
|||
|
|
#
|
|||
|
|
# Answers rein-aharness d0b45acb / REINAH-WP-0003-T04: the owner-approved
|
|||
|
|
# replacement for the profile-absent `fi-research-brief` route. This file is
|
|||
|
|
# FI's authority over WHAT runs and under WHICH grant. It does not schedule
|
|||
|
|
# (activity-core), pick a rein/sandbox/model (glas-harness) or execute
|
|||
|
|
# (rein-aharness). Where another layer has not shipped the needed piece yet,
|
|||
|
|
# the field names the FI-WP-0005 task that tracks it.
|
|||
|
|
declaration_version: "1"
|
|||
|
|
definition_id: fi-daily-research-brief
|
|||
|
|
owner: freedom-intelligence
|
|||
|
|
approved_by: Bernd Worsch
|
|||
|
|
approved_at: "2026-09-22"
|
|||
|
|
status: proposed # -> active at FI-WP-0005-T08 cutover
|
|||
|
|
|
|||
|
|
execution:
|
|||
|
|
shape: agent # operator decision 2026-09-22 (option B)
|
|||
|
|
harness_profile_ref: harness.fi-research-brief@1.0.0 # requested, FI-WP-0005-T05; not yet in the Glas catalog
|
|||
|
|
selection: harness_profile_ref only. No label or approach_hint routing, no
|
|||
|
|
fallback to the compatibility executor once cut over.
|
|||
|
|
|
|||
|
|
inputs:
|
|||
|
|
# Read from the checked-out workspace at the run's base commit.
|
|||
|
|
brief_date:
|
|||
|
|
type: date
|
|||
|
|
tz: Europe/Berlin
|
|||
|
|
source: activity-core due item (context.item.date)
|
|||
|
|
repository_files:
|
|||
|
|
- docs/sources-allowlist.md
|
|||
|
|
- docs/daily-brief-playbook.md
|
|||
|
|
- briefs/_template.md
|
|||
|
|
- inventory/RESERVE-STATUS.md
|
|||
|
|
- research/2026-07-24-baseline-field-survey.md
|
|||
|
|
- research/2026-07-24-nas-strategic-collection-plan.md
|
|||
|
|
repository_globs:
|
|||
|
|
- inventory/catalog/*.yaml # authority for sizes, licenses, collection status
|
|||
|
|
prior_briefs:
|
|||
|
|
names: last 5 by date, excluding brief_date
|
|||
|
|
full_text: most recent 1
|
|||
|
|
git_log: last 12 commits, oneline
|
|||
|
|
network:
|
|||
|
|
egress_hosts: docs/sources-egress.yaml # FI-WP-0005-T03; model route is profile-owned
|
|||
|
|
secrets: none. The run reads no FI credential. Model credentials stay with
|
|||
|
|
the profile's owner route (Glas / sand-boxer).
|
|||
|
|
|
|||
|
|
outputs:
|
|||
|
|
artifact: briefs/{yyyy}/{mm}/{date}.md
|
|||
|
|
format: briefs/_template.md, axes A–D, collection-candidate section
|
|||
|
|
exactly_one_new_file: true
|
|||
|
|
must_not_modify_existing_files: true
|
|||
|
|
|
|||
|
|
repository_grant:
|
|||
|
|
# Grant v1 fields (activity-core RepositoryGrant). v1 rejects publish=true,
|
|||
|
|
# so publication rides on grant v2 (FI-WP-0005-T04).
|
|||
|
|
version: "2" # requested; v1 shape below validated against activity-core b63131e+
|
|||
|
|
allowed_paths:
|
|||
|
|
- briefs/**
|
|||
|
|
commit_count: {min: 1, max: 1}
|
|||
|
|
publication:
|
|||
|
|
remote: origin
|
|||
|
|
ref: main
|
|||
|
|
mode: fast-forward-only
|
|||
|
|
decision: docs/decisions/2026-09-22-brief-origin-publication.md
|
|||
|
|
commit_message: "FI daily research brief {date}"
|
|||
|
|
|
|||
|
|
quality_rules:
|
|||
|
|
# Acceptance for canary comparison (FI-WP-0005-T07) and prompt contract.
|
|||
|
|
- inventory/catalog is the authority. Do not re-announce cataloged models
|
|||
|
|
as new, and never state sizes or licenses that contradict the catalog.
|
|||
|
|
- Every parameter count, size, price or benchmark claim cites a primary
|
|||
|
|
source that was fetched in this run. If it is not verifiable, say so
|
|||
|
|
instead of estimating.
|
|||
|
|
- Deltas only, measured against prior briefs and the baseline, not a resurvey.
|
|||
|
|
- Cover axes A–D, or state explicitly that an axis had no delta.
|
|||
|
|
- Rumor (social media, unsourced aggregators) is not reported as confirmed.
|
|||
|
|
- No credentials, customer data or model weights in the brief.
|
|||
|
|
|
|||
|
|
model:
|
|||
|
|
# FI states requirements; the Glas profile pins provider/model/route.
|
|||
|
|
model_class: frontier
|
|||
|
|
required_capabilities: [tool_use, web_fetch_via_https_proxy, long_context]
|
|||
|
|
limits_hint: {timeout_seconds: 1800, max_turns: 60}
|
|||
|
|
constraints:
|
|||
|
|
- No Binky-named variables (BRIEF_DAILY_MODEL, MAIL_TRIAGE_MODEL) and no
|
|||
|
|
process-environment model selection. The profile version is the only selector.
|
|||
|
|
- The playbook rule "no Claude Code / Codex on railiance01" means no
|
|||
|
|
host-installed agent. A pinned agent executable inside the Glas sandbox is
|
|||
|
|
acceptable only if the profile owner confirms it is not a host
|
|||
|
|
installation. Operator to confirm (FI-WP-0005-T05).
|
|||
|
|
|
|||
|
|
completion:
|
|||
|
|
event: fi_daily_brief
|
|||
|
|
required_detail:
|
|||
|
|
date: brief_date
|
|||
|
|
path: outputs.artifact
|
|||
|
|
pushed: true
|
|||
|
|
origin_sha: 40-hex commit on origin/main that contains the artifact
|
|||
|
|
harness_profile_ref: execution.harness_profile_ref
|
|||
|
|
due_resolution: published-artifact resolver (FI-WP-0005-T04). The day
|
|||
|
|
clears only if the artifact is on origin/main AND the event says
|
|||
|
|
pushed=true. In the interim, fi_brief_status (activity-core 289aff3), same semantics.
|
|||
|
|
on_failure: executor_run ok=false, no fi_daily_brief, day stays due.
|
|||
|
|
independent_audit: scripts/verify_brief_durability.py --require-date {date}
|
|||
|
|
|
|||
|
|
rollback:
|
|||
|
|
pins:
|
|||
|
|
- glas profile version (previous harness.fi-research-brief@x.y.z)
|
|||
|
|
- this declaration and the definition, by git revision in this repo
|
|||
|
|
procedure: pin the previous profile version or revert the definition
|
|||
|
|
revision, then sync activity-core definitions. Until the legacy expiry
|
|||
|
|
(2026-12-31) the compatibility executor rein-aharness@11020e8 remains a
|
|||
|
|
manual one-shot recovery. There is no host timer (FI-WP-0005-T06).
|
|||
|
|
evidence_required: one exercised rollback at cutover (FI-WP-0005-T08)
|