feat: switch automerge + feedback to dossier_get (agent.json via fallback) #473

Closed
opened 2026-08-09 01:37:16 +00:00 by igor · 0 comments
Collaborator

Migration step for the AGENTS.md dossier spec (docs/agents-md-spec.md): switch the two harness consumers of agent.json to dossier_get from lib/dossier.sh (merged in #465). dossier_get already falls back to agent.json when a repo hasn't adopted the spec, so this is behavior-neutral for the whole fleet today, and it's what makes the per-repo agent.json deletions safe later.

Deliverables

  1. lib/automerge.sh: everywhere the smoke URL is read from agent.json .smoke.url, read dossier_get <checkout> url instead. Same value contract (a URL string or empty).
  2. lib/feedback.sh: read the feedback CSV via dossier_get <checkout> feedback-csv instead of agent.json .feedback.csv.
  3. Any other agent.json readers a grep -rn 'agent.json\|AGENT_CONFIG_FILE' lib/ bin/ turns up: switch them the same way, or list them in the PR body as intentionally left (with why).
  4. Tests: extend the relevant bin/test-*.sh (automerge, feedback) with both paths -- a repo with an adopted dossier (reads the fence) and a repo with only agent.json (falls back). bin/test-dossier.sh already covers dossier_get's internals; these tests cover the CALL SITES.

Notes

  • Requires #465 on master (it is).
  • Fleet behavior must be UNCHANGED by this PR -- no repo has adopted the spec yet, so every call resolves through the fallback. Assert that in tests.
  • After this merges, the per-repo conversion PRs (filed on the five CEO repos) can safely delete agent.json in a later cleanup pass.
Migration step for the AGENTS.md dossier spec (`docs/agents-md-spec.md`): switch the two harness consumers of `agent.json` to `dossier_get` from `lib/dossier.sh` (merged in #465). `dossier_get` already falls back to `agent.json` when a repo hasn't adopted the spec, so this is behavior-neutral for the whole fleet today, and it's what makes the per-repo `agent.json` deletions safe later. ## Deliverables 1. **`lib/automerge.sh`**: everywhere the smoke URL is read from `agent.json` `.smoke.url`, read `dossier_get <checkout> url` instead. Same value contract (a URL string or empty). 2. **`lib/feedback.sh`**: read the feedback CSV via `dossier_get <checkout> feedback-csv` instead of `agent.json` `.feedback.csv`. 3. Any other `agent.json` readers a `grep -rn 'agent.json\|AGENT_CONFIG_FILE' lib/ bin/` turns up: switch them the same way, or list them in the PR body as intentionally left (with why). 4. **Tests**: extend the relevant `bin/test-*.sh` (automerge, feedback) with both paths -- a repo with an adopted dossier (reads the fence) and a repo with only `agent.json` (falls back). `bin/test-dossier.sh` already covers `dossier_get`'s internals; these tests cover the CALL SITES. ## Notes - Requires #465 on master (it is). - Fleet behavior must be UNCHANGED by this PR -- no repo has adopted the spec yet, so every call resolves through the fallback. Assert that in tests. - After this merges, the per-repo conversion PRs (filed on the five CEO repos) can safely delete `agent.json` in a later cleanup pass.
igor self-assigned this 2026-08-09 01:39:53 +00:00
igor added spent time 2026-08-09 01:50:55 +00:00
10 minutes 38 seconds
igor removed their assignment 2026-08-09 01:50:55 +00:00
igor closed this issue 2026-08-09 02:07:18 +00:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Total time spent: 10 minutes 38 seconds
igor
10 minutes 38 seconds
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
joshtronic/igor#473
No description provided.