<!-- Round 1, GPT-6 Astra (gpt-6-astra) through Codex CLI 0.153.3, 2026-09-17. One prompt (council/prompt.md), read-only sandbox, live web search, empty working directory. It did not see Fable's answer. Output below is unedited. -->

Researched live on **2026-09-17**. These are proposed working agreements, not vendor policy. The 2026 releases are dated; several current documentation pages expose no publication/update date, noted below.

## 1. RULES

Keep the seven imperative sentences in the shared file; the examples and rationale are review annotations.

### `finish-authorized-work`

**Rule:** Complete requested, reversible work without reconfirmation, asking only when missing information materially changes the result or an action exceeds existing authorization.  
**Why:** Prevents unnecessary permission loops.  
**Good:** Fix the requested bug and run the relevant checks.  
**Bad:** End with “Shall I implement the fix?”  
**Backing:** [Astra guide][a], [Fable guide][f].  
**matters most for: both** — Both guides describe premature pauses for already-requested work.

### `keep-requested-scope`

**Rule:** Implement every requested behavior, make targeted edits, and report unrelated improvements without implementing them.  
**Why:** Keeps the change complete and reviewable.  
**Good:** Fix pagination; mention the unrelated caching defect separately.  
**Bad:** Rewrite the data layer while fixing pagination.  
**Backing:** [Fable guide][f].  
**matters most for: Fable** — Its guide identifies unsolicited extensions and whole-file rewrites.

### `explain-real-blockers`

**Rule:** When an instruction blocks progress, identify its file and exact requirement, explain the conflict, and finish independent authorized work.  
**Why:** Makes permission decisions auditable.  
**Good:** “The deployment rule requires approval; the patch and checks are ready.”  
**Bad:** “Policy prevents further work,” without identifying any policy.  
**Backing:** [Astra guide][a], [Claude instruction docs][m].  
**matters most for: Astra** — OpenAI specifically warns that conflicting skill instructions can halt work.

### `bound-verification`

**Rule:** Run required checks and checks relevant to the change, then stop unless failures, further edits, or unresolved risks justify more testing.  
**Why:** Establishes a measurable completion boundary.  
**Good:** Run the affected regression test and required lint check; report results.  
**Bad:** Repeatedly rerun the full suite after an unchanged, successful result.  
**Backing:** [Astra guide][a], [Astra instruction-design guidance][b].  
**matters most for: Astra** — Its documented thoroughness can produce excessive verification.

### `make-progress-visible`

**Rule:** State the initial action, report meaningful findings or blockers during extended work, and finish with a standalone account of changes, check results, and unfinished items.  
**Why:** Users need visibility beyond tool output.  
**Good:** “Fixed empty-page handling; regression test passed; integration tests could not run without the service.”  
**Bad:** Several minutes of silence followed by “Done.”  
**Backing:** [Claude prompting guidance][g], [Fable changes][n].  
**matters most for: Fable** — Anthropic documents fewer intermediate updates and provides explicit progress-display support.

### `ground-code-claims`

**Rule:** Read the relevant code before describing its behavior, and distinguish observed results from assumptions in the final report.  
**Why:** Makes conclusions inspectable.  
**Good:** “The opened handler retries twice; production behavior remains unverified.”  
**Bad:** “Production is fixed,” based only on an edited file.  
**Backing:** [Claude prompting guidance][g], [Astra instruction-design guidance][b].  
**matters most for: both** — The guidance supports relevant investigation without compulsory whole-repository exploration.

### `verify-changing-facts`

**Rule:** Search unfamiliar or fast-changing product names exactly as supplied, open authoritative sources, and disclose when current verification is unavailable.  
**Why:** Familiarity can conceal stale information.  
**Good:** Verify the named SDK version before recommending its API.  
**Bad:** Substitute a remembered predecessor and answer confidently.  
**Backing:** [Fable guide][f].  
**matters most for: Fable** — At low effort, it may answer from memory instead of searching.

## 2. MODEL-SPECIFIC NOTES

- **Astra adapter:** Request concise, outcome-first prose and selective formatting; OpenAI documents detailed, heavily formatted defaults. Applying aggressive anti-formatting language to Fable can suppress useful structure. [Astra guide][a], [Claude prompting guidance][g]
- **Fable adapter:** Encourage paragraph breaks and useful lists; preserve progress narration. Its writing can be dense and its updates sparse. These corrections do not address Astra’s documented verbosity tendency. [Fable guide][f], [Claude prompting guidance][g]
- **Delegation:** Astra may need encouragement to delegate. Fable’s documented tool-loop issue concerns batching independent calls; these are different problems and should not become a shared “always parallelize” rule. [Astra guide][a], [Fable guide][f]
- **Loading:** Maintain the shared rules in `AGENTS.md`; use a small `CLAUDE.md` containing `@AGENTS.md`, followed by the Fable adapter. Codex discovers `AGENTS.md`; Claude Code documents this import explicitly. Keep Codex-specific instructions in its own configuration scope. [Codex instructions][c], [Claude instructions][m]
- **Harness settings:** Fable’s progress-display and preserved-thinking controls belong in integration configuration; Claude Code already preserves the required conversation prefix. They are not portable instructions for Astra. [Fable changes][n]

## 3. REJECTED

- **“Never ask questions.”** Both models need an exception for consequential ambiguity.
- **“Ask before every edit.”** Reintroduces documented unnecessary approval pauses.
- **“Always add tests and run everything.”** Encourages excessive testing and unrelated test artifacts.
- **“Read all project documentation first.”** OpenAI explicitly identifies this as excessive for small changes.
- **“Never use Markdown.”** Fable already tends toward insufficient formatting.
- **“The user is absent.”** Fable’s autonomous-work example uses this premise; a shared interactive guide cannot assume it truthfully.

## 4. SOURCES

Every opened URL is listed below. **Undated** means no publication/update date was shown; retrieval today does not establish an update date.

| Source | Date shown |
|---|---|
| [Astra prompting and behavior guide][a] | Undated |
| [Rethinking skills and prompts for GPT-6 Astra][b] | 2026-09-11 |
| [OpenAI API changelog][o] | Astra release entry: 2026-09-03 |
| [Codex AGENTS.md original URL][r] | Undated; redirects to next source |
| [Codex AGENTS.md canonical documentation][c] | Undated |
| [Fable 5.1 overview][v] | Model release: 2026-09-01; page undated |
| [Fable 5.1 prompting guide][f] | Undated |
| [What’s new in Fable 5.1][n] | Undated |
| [Fable 5.1 announcement][l] | September 2026 |
| [Claude prompting best practices][g] | Undated; explicitly includes Fable 5.1 |
| [Claude Code CLAUDE.md and AGENTS.md documentation][m] | Undated |

[a]: https://developers.openai.com/api/docs/guides/latest-model
[b]: https://developers.openai.com/blog/rethinking-skills-and-prompts-for-gpt-6-astra
[o]: https://developers.openai.com/api/docs/changelog
[r]: https://developers.openai.com/codex/guides/agents-md
[c]: https://learn.chatgpt.com/docs/agent-configuration/agents-md
[v]: https://platform.claude.com/docs/en/models/fable-5-1/overview
[f]: https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1
[n]: https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1
[l]: https://www.anthropic.com/claude-fable-and-mythos-5-1
[g]: https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices
[m]: https://code.claude.com/docs/en/memory