Skip to content

Rule 3: reject trailing "/schedule X" as closing-flourish variant#18

Merged
EsatanGW merged 2 commits intomainfrom
claude/schedule-harness-sweep-tw5xJ
May 1, 2026
Merged

Rule 3: reject trailing "/schedule X" as closing-flourish variant#18
EsatanGW merged 2 commits intomainfrom
claude/schedule-harness-sweep-tw5xJ

Conversation

@EsatanGW
Copy link
Copy Markdown
Owner

Summary

Extends docs/output-craft-discipline.md Rule 3 to explicitly reject trailing "/schedule X" offers as a closing-flourish variant. Agents should not offer to schedule next steps they could simply execute in the same turn; scheduling is only appropriate when gated on external factors (releases, methodology cadences, pending user decisions, upstream artifacts). Updates consumer mirrors in AGENTS.md §10 and CHANGELOG.md; adds ROADMAP closure entry documenting the full initiative lifecycle.

Scope classification

  • Full — multiple surfaces, new normative rule in operating contract, cross-cutting consumer updates per CLAUDE.md §5.

Surfaces touched

  • Information surface (new normative rule on agent output discipline; affects validation of agent prose output)

Rationale:

  • New Rule 3 sub-clause adds a previously-unstated discriminator for closing-flourish detection, binding on agent output validation and review.

Source of Truth impact

  • SoT file: docs/output-craft-discipline.md Rule 3 §Must not do (new bullet)
  • Consumer updates in this PR: AGENTS.md §10 Rule 3 (summary line extended), CHANGELOG.md [Unreleased] (Added section), ROADMAP.md (initiative closure with phase log)
  • Known consumers NOT updated and why: Thin-bridges (CLAUDE.md, GEMINI.md, .windsurfrules, .cursor/rules/*.mdc, agents/*.md) inherit automatically per docs/file-role-map.md; docs/ai-operating-contract.md §7 already points to output-craft as application target, so cross-reference topology remains intact.

Evidence

docs/output-craft-discipline.md Rule 3 §Must not do — new bullet:

- Offer to schedule next steps the agent could simply do. A trailing "I'll schedule X" or "/schedule Y" is a closing flourish in scheduling clothing. The discriminator is whether the next step is **gated on something the agent does not control** — an external release, a methodology-defined cadence (e.g. [`harness-evolution-discipline.md`](harness-evolution-discipline.md)'s per-material-model-release sweep), a user decision still pending, an upstream artifact that has not landed. If the next step is gated externally, schedule it; if it is gated only on the agent doing the work, doing the work is the only honest option. "Let me queue a follow-up" when the follow-up is one tool call away is the trailing offer's slow form — same shape, same fingerprint, same Rule 3 violation.

AGENTS.md §10 Rule 3 — summary line extended:

- **Summaries are caveats and next steps, not recap.** The diff and the manifest are the record; the agent's contribution at the summary slot is what those records do not say — caveats (residual risk, gotchas, what was assumed), next steps (what is still pending, what to confirm). Do not restate completed actions; do not open with preamble; do not close with flourish; do not offer to schedule what the agent could simply do — schedule only what is gated on something outside the agent's control (external release, methodology-defined cadence, user decision still pending, upstream artifact).

CHANGELOG.md [Unreleased] — new Added entry:

- **`docs/output-craft-discipline.md` Rule 3 §Must not do — new bullet rejecting trailing "/schedule X" offers as a closing-flourish variant, plus consumer mirror in `AGENTS.md §10` Rule 3.** [detailed explanation of discriminator and rationale]

ROADMAP.md — initiative closure:

  • Initiative no-trailing-schedule-offer moved to Closed initiatives block
  • Full phase-gate table (P0–P7) with all gates marked ✅ passed
  • Phase log explaining version bump (minor 1.36.0), mode choice (Full), and scope boundaries

Breaking-change level

  • L1 — additive + deprecation. New normative rule

https://claude.ai/code/session_01YaxQEUWuh1v61e7SBKodzp

claude added 2 commits April 30, 2026 18:18
…lourish variant

Rule 3 of docs/output-craft-discipline.md already named the explicit
form of trailing offer ("Let me know if you have any other
questions!") but did not name its slow form: the agent ending a
delivery with "I'll schedule X" or "/schedule Y" when the X / Y in
question is something the agent could do in the same turn. Both
forms share a fingerprint — performative completion that does not
serve the user — but the slow form was reading as cooperative
next-step planning and escaped Rule 3 enforcement.

The new bullet states the discriminator: schedule only what is
gated on something the agent does not control — an external release,
a methodology-defined cadence (e.g. harness-evolution-discipline.md's
per-material-model-release sweep), a user decision still pending, an
upstream artifact that has not landed. If the next step is gated
only on the agent doing the work, doing the work is the only honest
option.

AGENTS.md §10 Rule 3 summary line is extended with the criterion in
compressed form per CLAUDE.md §5 cross-cutting term update obligation.
SoT detail lives in docs/output-craft-discipline.md. No schema change,
no new file, no other consumer touched — ai-operating-contract.md §7
already routes readers to output-craft as the application target for
summary-slot rules, so the cross-reference topology stays intact.

CHANGELOG: [Unreleased] / Added.
ROADMAP: no-trailing-schedule-offer initiative (Full mode, P0-P7 passed).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The 5d54f1d commit added a new [Unreleased] entry to CHANGELOG.md but
did not regenerate CHANGELOG.json, so the changelog-drift CI job
(.github/scripts/generate-changelog-json.py --check) failed. This
commit syncs CHANGELOG.json from CHANGELOG.md via the generator
script — pure regeneration, no manual edits.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@EsatanGW EsatanGW merged commit e05ab4e into main May 1, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants