docs: codify operational lessons from recent runs into agent guidance#71
Merged
Conversation
Fifteen shipped PRs accumulated hard-won operational rules in prompt text and PR bodies where new agents never see them. Move the durable ones into AGENTS.md (governance: squash-merge standard, smoke-jobs-don't-rerun-on- merge-SHA evidence rule, post-merge job set, Socket pending policy, DCO) and CLAUDE.md (runtime: .scratch/ binary discovery, 4.4-is-not-4.5, explicit-path staging vs the Cursor CLAUDE.md injection, contact-sheet and falsification gates, generated-HTML review precedent), state the division of labor at the top of each, and update docs/new-example-prompt.md so the canonical prompt agrees with the guidance files. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Audit and upgrade of
AGENTS.mdandCLAUDE.mdso any agent on any machine can run the standard example-creation and quality prompts without rediscovering environment facts or repeating documented mistakes. Every claim below was verified against the repository (workflow triggers,.gitignore, script behavior, PR bodies #57–#70) before being written down.Division of labor (now stated at the top of both files):
AGENTS.mdcarries fleet-standard governance and workflow rules (branching, commits, merge and CI-evidence policy, release automation, authoring standards);CLAUDE.mdcarries repo-specific operational facts an agent needs at runtime (content inventory, Blender runtime discovery, git staging hazards, example-shipping quality gates).Inventory
Already documented (left in place, location noted)
teaches.split(".")[0]precedent, "4.4 is not 4.5", contact-sheet gate with pinned set — all indocs/new-example-prompt.md(now also inCLAUDE.mdso guidance-file readers get them).VERSION, CHANGELOG,**Version:**,**Current:**, manifest"version"), workflow descriptions, version targeting, conventional-commit release gating —AGENTS.md/CLAUDE.md, verified accurate..scratchis already gitignored (.gitignore:26) — no change needed.Newly added
CLAUDE.md): check.scratch/at repo root first, then system installs; never probe blindly; state exact binary path + binary-reported version in every report; may download official releases into.scratch/; branch on thebpy.app.versiontuple, notversion_string("4.5.11 LTS"— recurring lesson in PRs feat: add grease-pencil-rosette example (GPv3 attribute API drift witness) #57, feat: add png-exr-alpha float PNG false-unpremul witness #69).CLAUDE.md): explicit paths only, nevergit add -A— Cursor agent sessions inject a local block into the working-copyCLAUDE.mdthat a bulk add sweeps into commits; it manifests as an unauthoredCLAUDE.mdhunk ingit diff. (No committed instance found in history — the rule has held; described as it manifests in the working tree.)AGENTS.md): squash-merge + branch deletion standard;blender-smoke.ymlispull_request-triggered (verified: nopushtrigger) so post-merge evidence = both smoke jobs green on the PR head SHA that became the sole squash commit, binary versions confirmed in job logs; post-merge job set verified from workflow triggers: Release, Validate, Ecosystem drift check, Deploy GitHub Pages (paths-filtered); DCO sign-off per CONTRIBUTING.md.AGENTS.md+ prompt): checks are "Socket Security: Project Report" / "Pull Request Alerts" (GitHub App; verified on PR feat: add png-exr-alpha float PNG false-unpremul witness #69's check rollup). No override policy is decided, so the documented default is: pending/failing = unresolved — wait before merging.CLAUDE.md+ prompt): composite committed underdocs/gallery/contact-sheets/and linked in the PR body is required evidence; per-criterion verdicts including mean luminance vs the calibration images (per PR feat: add png-exr-alpha float PNG false-unpremul witness #69's format); pinned setarmature-bend,damped-track-aim,bmesh-gear, updated when outclassed. Disambiguated fromdocs/VISUAL-STYLE.md's longer six-member "calibration references" list, which is a style reference, not the contact-sheet set.CLAUDE.md): ROADMAP candidate pool drain-on-ship/restock; canonical prompt locationdocs/new-example-prompt.md; evidence-over-assertion labeling in PR bodies.Corrected
docs/new-example-prompt.mdupdated to agree with the guidance files:.scratch/discovery + exact-path/version reporting; committed composite + mean luminance in the contact-sheet gate; "normal merge strategy" → explicit squash-merge + branch deletion; Socket pending rule; post-merge job names + smoke-evidence rule.AGENTS.mdworkflows listing now includesstale.yml(was missing).Removed
AGENTS.mdcontent-base enumeration (per-skill/rule/template/snippet detail) reduced to counts + pointer toCLAUDE.md's tables — it duplicatedCLAUDE.mdverbatim in prose form, violating the no-duplication rule.Test plan
AGENTS.md/CLAUDE.mdcontent; thestandards-version: 1.10.0markers and the release-owned**Version:**line are preserved byte-identical, so drift-check and release-doc-sync are unaffected.docs:subject → no release is cut on merge (verified against the release-worthiness gate inrelease.yml).🤖 Generated with Claude Code