Skip to content

docs(agents): add a GEMINI.md pointer to the maintained instructions - #75

Merged
hyperpolymath merged 2 commits into
mainfrom
chore/llm-pointer-2026-09-08
Sep 12, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
chore/llm-pointer-2026-09-08

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Adds a GEMINI.md pointer file to this repository.

Why. An estate-wide census found a large asymmetry in agent-instruction
files: CLAUDE.md was present almost everywhere, GEMINI.md in a handful of
repositories. Any coding agent that looks for GEMINI.md and does not find one
proceeds with no repository-specific instructions at all.

This file is a pointer, not a second copy of the instructions. Duplicating
guidance across per-agent files guarantees the copies drift. The pointer
redirects to whichever file this repository actually maintains — AGENTS.md
where one exists, otherwise CLAUDE.md — and says to retarget it at
AGENTS.md when one lands.

How this commit was built. The change was made with git plumbing against
origin/<default branch>, not by staging a working tree. The branch contains
exactly one commit adding exactly one file, and carries none of the unrelated
local state present in this checkout. A per-repository assertion required
git diff --name-only <base> <commit> to equal the expected path set exactly,
or the branch was never created.

This PR is opened as a draft on purpose. It is part of a bulk campaign and
is not requesting a merge. Review and merge at your discretion.

🤖 Generated with Claude Code

https://claude.ai/code/session_011eQ7hibx92N7fBDtwgReWk

Adds a GEMINI.md pointer so Gemini-family agents are not blind to the
repository instructions that CLAUDE.md or AGENTS.md already carries
(task #50). The file is a pointer, never a duplicate of the rules.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011eQ7hibx92N7fBDtwgReWk
Comment thread GEMINI.md
@@ -0,0 +1,8 @@
# Pointer
@coderabbitai

coderabbitai Bot commented Sep 8, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: daecead3-5f7e-448f-ae29-ab81ecc6d11b

📥 Commits

Reviewing files that changed from the base of the PR and between fa99f10 and 048764b.

📒 Files selected for processing (1)
  • GEMINI.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (6)
  • GitHub Check: rust-ci / Coverage (tarpaulin + codecov)
  • GitHub Check: rust-ci / Cargo audit (security)
  • GitHub Check: governance / Check Workflow Staleness
  • GitHub Check: governance / Workflow security linter
  • GitHub Check: governance / Trusted-base reduction policy
  • GitHub Check: governance / Security policy checks
⚠️ CI failures not shown inline (8)

GitHub Actions: ClusterFuzzLite PR fuzzing / 0_PR (address).txt: docs(agents): add a GEMINI.md pointer to the maintained instructions

Conclusion: failure

View job details

Current runner version: '2.337.0'
 ##[group]Runner Image Provisioner
 Hosted Compute Agent
 Version: 20260828.587
 Commit: abac92662cab4cc7352de4f9f9d2e2419aad9c29
 Build Date:
 Worker ID: {2a511671-42fb-4b10-8d4d-41effadf3538}
 Azure Region: eastus
 ##[endgroup]
 ##[group]Operating System
 Ubuntu
 24.04.5
 LTS
 ##[endgroup]
 ##[group]Runner Image
 Image: ubuntu-24.04
 Version: 20260907.300.1
 Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260907.300/images/ubuntu/Ubuntu2404-Readme.md
 Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260907.300
 ##[endgroup]
 ##[group]GITHUB_TOKEN Permissions
 Contents: read
 Metadata: read
 ##[endgroup]
 Secret source: Actions
 Using locked action versions from the workflow's lockfile
 Prepare workflow directory
 Prepare all required actions
 Getting action download info
 Download action repository 'google/clusterfuzzlite@v1' (SHA:884713a6c30a92e5e8544c39945cd7cb630abcd1)
 Complete job name: PR (address)
 ##[group]Pull down action image 'gcr.io/oss-fuzz-base/clusterfuzzlite-build-fuzzers:v1'
 ##[command]/usr/bin/docker pull gcr.io/oss-fuzz-base/clusterfuzzlite-build-fuzzers:v1
 v1: Pulling from oss-fuzz-base/clusterfuzzlite-build-fuzzers
 b549f31133a9: Pulling fs layer
 6e628c8ef21f: Pulling fs layer
 f53ab3868c1c: Pulling fs layer
 cac03dd67be9: Pulling fs layer
 6ad67417113a: Pulling fs layer
 0f23db3019f6: Pulling fs layer
 f7f923ac7112: Pulling fs layer
 5ac5fd5c9155: Pulling fs layer
 e55f3aeb0db5: Pulling fs layer
 99a80ef90662: Pulling fs layer
 ed071ff265fb: Pulling fs layer
 8ea7612e89e3: Pulling fs layer
 5acd3defd0b1: Pulling fs layer
 cb9fc028b38c: Pulling fs layer
 f875d495afb8: Pulling fs layer
 75f78d57ea55: Pulling fs layer
 17240e9f55fc: Pulling fs layer
 5ca435cbfcbd: Pulling fs layer
 943a3a494328: Pulling fs layer
 7104cb51b378: Pulling fs layer
 4065365cc179: Pulling fs layer
 da4c240a289d: Pulling fs layer
 ed67bd6f81a3: Pulling fs layer
 c18ae4e...

GitHub Actions: ClusterFuzzLite PR fuzzing / PR (address): docs(agents): add a GEMINI.md pointer to the maintained instructions

Conclusion: failure

View job details

##[group]Run google/clusterfuzzlite/actions/build_fuzzers@v1
 with:
   language: rust
   sanitizer: address
   dry-run: false
   bad-build-check: true
   keep-unaffected-fuzz-targets: false
   upload-build: false
 ##[endgroup]
 ##[command]/usr/bin/docker run --name gcrioossfuzzbaseclusterfuzzlitebuildfuzzersv1_67af04 --label 74b848 --workdir /github/workspace --rm -e "INPUT_LANGUAGE" -e "INPUT_SANITIZER" -e "INPUT_DRY-RUN" -e "INPUT_ALLOWED-BROKEN-TARGETS-PERCENTAGE" -e "INPUT_PROJECT-SRC-PATH" -e "INPUT_BAD-BUILD-CHECK" -e "INPUT_KEEP-UNAFFECTED-FUZZ-TARGETS" -e "INPUT_STORAGE-REPO" -e "INPUT_STORAGE-REPO-BRANCH" -e "INPUT_STORAGE-REPO-BRANCH-COVERAGE" -e "INPUT_UPLOAD-BUILD" -e "INPUT_GITHUB-TOKEN" -e "ALLOWED_BROKEN_TARGETS_PERCENTAGE" -e "BAD_BUILD_CHECK" -e "UPLOAD_BUILD" -e "LANGUAGE" -e "DRY_RUN" -e "SANITIZER" -e "PROJECT_SRC_PATH" -e "GITHUB_TOKEN" -e "GIT_STORE_REPO" -e "GIT_STORE_BRANCH" -e "GIT_STORE_BRANCH_COVERAGE" -e "CFL_PLATFORM" -e "LOW_DISK_SPACE" -e "KEEP_UNAFFECTED_FUZZ_TARGETS" -e "HOME" -e "GITHUB_JOB" -e "GITHUB_REF" -e "GITHUB_SHA" -e "GITHUB_REPOSITORY" -e "GITHUB_REPOSITORY_OWNER" -e "GITHUB_REPOSITORY_OWNER_ID" -e "GITHUB_RUN_ID" -e "GITHUB_RUN_NUMBER" -e "GITHUB_RETENTION_DAYS" -e "GITHUB_RUN_ATTEMPT" -e "GITHUB_ACTOR_ID" -e "GITHUB_ACTOR" -e "GITHUB_WORKFLOW" -e "GITHUB_HEAD_REF" -e "GITHUB_BASE_REF" -e "GITHUB_EVENT_NAME" -e "GITHUB_SERVER_URL" -e "GITHUB_API_URL" -e "GITHUB_GRAPHQL_URL" -e "GITHUB_REF_NAME" -e "GITHUB_REF_PROTECTED" -e "GITHUB_REF_TYPE" -e "GITHUB_WORKFLOW_REF" -e "GITHUB_WORKFLOW_SHA" -e "GITHUB_REPOSITORY_ID" -e "GITHUB_TRIGGERING_ACTOR" -e "GITHUB_WORKSPACE" -e "GITHUB_ACTION" -e "GITHUB_EVENT_PATH" -e "GITHUB_ACTION_REPOSITORY" -e "GITHUB_ACTION_REF" -e "GITHUB_PATH" -e "GITHUB_ENV" -e "GITHUB_STEP_SUMMARY" -e "GITHUB_STATE" -e "GITHUB_OUTPUT" -e "GITHUB_ARTIFACTS" -e "GITHUB_ARTIFACTS_LIST" -e "RUNNER_OS" -e "RUNNER_ARCH" -e "RUNNER_NAME" -e "RUNNER_ENVIRONMENT" -e "RUNNER_TOOL_CACHE" -e "RUNNER_TEMP" -e "RUNN...

GitHub Actions: Dogfood Gate / 1_Validate eclexiaiser manifest.txt: docs(agents): add a GEMINI.md pointer to the maintained instructions

Conclusion: failure

View job details

##[group]Run if [ ! -f "eclexiaiser.toml" ]; then
 �[36;1mif [ ! -f "eclexiaiser.toml" ]; then�[0m
 �[36;1m  # Check if repo has a Containerfile — if so, recommend eclexiaiser�[0m
 �[36;1m  if [ -f "Containerfile" ]; then�[0m
 �[36;1m    echo "::warning::Containerfile present but no eclexiaiser.toml. Run \`eclexiaiser init\` to scaffold energy/carbon budgets."�[0m
 �[36;1m  fi�[0m
 �[36;1m  echo "has_manifest=false" >> "$GITHUB_OUTPUT"�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1m�[0m
 �[36;1mecho "has_manifest=true" >> "$GITHUB_OUTPUT"�[0m
 �[36;1m�[0m
 �[36;1m# Validate TOML structure using Python 3.11+ tomllib�[0m
 �[36;1mpython3 -c "�[0m
 �[36;1mimport tomllib, sys�[0m
 �[36;1mwith open('eclexiaiser.toml', 'rb') as f:�[0m
 �[36;1m    data = tomllib.load(f)�[0m
 �[36;1mproject = data.get('project', {})�[0m
 �[36;1mif not project.get('name', '').strip():�[0m
 �[36;1m    print('ERROR: project.name is required', file=sys.stderr)�[0m
 �[36;1m    sys.exit(1)�[0m
 �[36;1mfunctions = data.get('functions', [])�[0m
 �[36;1mif not functions:�[0m
 �[36;1m    print('ERROR: at least one [[functions]] entry is required', file=sys.stderr)�[0m
 �[36;1m    sys.exit(1)�[0m
 �[36;1mfor fn in functions:�[0m
 �[36;1m    if not fn.get('name', '').strip():�[0m
 �[36;1m        print('ERROR: function name cannot be empty', file=sys.stderr)�[0m
 �[36;1m        sys.exit(1)�[0m
 �[36;1m    if not fn.get('source', '').strip():�[0m
 �[36;1m        print(f'ERROR: function {fn[\"name\"]} has no source path', file=sys.stderr)�[0m
 �[36;1m        sys.exit(1)�[0m
 �[36;1mprint(f'Valid: {project[\"name\"]} ({len(functions)} function(s))')�[0m
 �[36;1m" || {�[0m
 �[36;1m  echo "::error file=eclexiaiser.toml::Invalid eclexiaiser.toml — see step output for details"�[0m

GitHub Actions: Dogfood Gate / Validate eclexiaiser manifest: docs(agents): add a GEMINI.md pointer to the maintained instructions

Conclusion: failure

View job details

##[group]Run if [ ! -f "eclexiaiser.toml" ]; then
 �[36;1mif [ ! -f "eclexiaiser.toml" ]; then�[0m
 �[36;1m  # Check if repo has a Containerfile — if so, recommend eclexiaiser�[0m
 �[36;1m  if [ -f "Containerfile" ]; then�[0m
 �[36;1m    echo "::warning::Containerfile present but no eclexiaiser.toml. Run \`eclexiaiser init\` to scaffold energy/carbon budgets."�[0m
 �[36;1m  fi�[0m
 �[36;1m  echo "has_manifest=false" >> "$GITHUB_OUTPUT"�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1m�[0m
 �[36;1mecho "has_manifest=true" >> "$GITHUB_OUTPUT"�[0m
 �[36;1m�[0m
 �[36;1m# Validate TOML structure using Python 3.11+ tomllib�[0m
 �[36;1mpython3 -c "�[0m
 �[36;1mimport tomllib, sys�[0m
 �[36;1mwith open('eclexiaiser.toml', 'rb') as f:�[0m
 �[36;1m    data = tomllib.load(f)�[0m
 �[36;1mproject = data.get('project', {})�[0m
 �[36;1mif not project.get('name', '').strip():�[0m
 �[36;1m    print('ERROR: project.name is required', file=sys.stderr)�[0m
 �[36;1m    sys.exit(1)�[0m
 �[36;1mfunctions = data.get('functions', [])�[0m
 �[36;1mif not functions:�[0m
 �[36;1m    print('ERROR: at least one [[functions]] entry is required', file=sys.stderr)�[0m
 �[36;1m    sys.exit(1)�[0m
 �[36;1mfor fn in functions:�[0m
 �[36;1m    if not fn.get('name', '').strip():�[0m
 �[36;1m        print('ERROR: function name cannot be empty', file=sys.stderr)�[0m
 �[36;1m        sys.exit(1)�[0m
 �[36;1m    if not fn.get('source', '').strip():�[0m
 �[36;1m        print(f'ERROR: function {fn[\"name\"]} has no source path', file=sys.stderr)�[0m
 �[36;1m        sys.exit(1)�[0m
 �[36;1mprint(f'Valid: {project[\"name\"]} ({len(functions)} function(s))')�[0m
 �[36;1m" || {�[0m
 �[36;1m  echo "::error file=eclexiaiser.toml::Invalid eclexiaiser.toml — see step output for details"�[0m

GitHub Actions: Dogfood Gate / 3_Groove manifest check.txt: docs(agents): add a GEMINI.md pointer to the maintained instructions

Conclusion: failure

View job details

##[group]Run # Check for static or dynamic Groove endpoints
 �[36;1m# Check for static or dynamic Groove endpoints�[0m
 �[36;1mHAS_MANIFEST="false"�[0m
 �[36;1mHAS_GROOVE_CODE="false"�[0m
 �[36;1m�[0m
 �[36;1mif [ -f ".well-known/groove/manifest.json" ]; then�[0m
 �[36;1m  HAS_MANIFEST="true"�[0m
 �[36;1m  # Validate the manifest JSON�[0m
 �[36;1m  if ! jq empty .well-known/groove/manifest.json 2>/dev/null; then�[0m
 �[36;1m    echo "::error file=.well-known/groove/manifest.json::Invalid JSON in Groove manifest"�[0m

GitHub Actions: Dogfood Gate / Groove manifest check: docs(agents): add a GEMINI.md pointer to the maintained instructions

Conclusion: failure

View job details

##[group]Run # Check for static or dynamic Groove endpoints
 �[36;1m# Check for static or dynamic Groove endpoints�[0m
 �[36;1mHAS_MANIFEST="false"�[0m
 �[36;1mHAS_GROOVE_CODE="false"�[0m
 �[36;1m�[0m
 �[36;1mif [ -f ".well-known/groove/manifest.json" ]; then�[0m
 �[36;1m  HAS_MANIFEST="true"�[0m
 �[36;1m  # Validate the manifest JSON�[0m
 �[36;1m  if ! jq empty .well-known/groove/manifest.json 2>/dev/null; then�[0m
 �[36;1m    echo "::error file=.well-known/groove/manifest.json::Invalid JSON in Groove manifest"�[0m

GitHub Actions: Dogfood Gate / 4_Validate A2ML manifests.txt: docs(agents): add a GEMINI.md pointer to the maintained instructions

Conclusion: failure

View job details

##[group]A2ML Manifest Validation
 Scanning . for .a2ml files...
 Found 23 .a2ml file(s)
   Validating: ./.machine_readable/6a2/0-AI-MANIFEST.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./.machine_readable/6a2/AGENTIC.a2ml
   Validating: ./.machine_readable/6a2/ECOSYSTEM.a2ml
   Validating: ./.machine_readable/6a2/META.a2ml
   Validating: ./.machine_readable/6a2/NEUROSYM.a2ml
   Validating: ./.machine_readable/6a2/PLAYBOOK.a2ml
   Validating: ./.machine_readable/6a2/STATE.a2ml
   Validating: ./.machine_readable/6a2/anchor/0-AI-MANIFEST.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./.machine_readable/6a2/anchor/ANCHOR.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./.machine_readable/CLADE.a2ml
   Validating: ./.machine_readable/bot_directives/coverage.a2ml
   Validating: ./.machine_readable/bot_directives/debt.a2ml
   Validating: ./.machine_readable/bot_directives/methodology.a2ml
   Validating: ./.machine_readable/contractiles/Adjustfile.a2ml
   Validating: ./.machine_readable/contractiles/Intentfile.a2ml
   Validating: ./.machine_readable/contractiles/Mustfile.a2ml
   Validating: ./.machine_readable/contractiles/Trustfile.a2ml
   Validating: ./.machine_readable/integrations/feedback-o-tron.a2ml
   Validating: ./.machine_readable/integrations/proven.a2ml
   Validating: ./.machine_readable/integrations/verisimdb.a2ml
   Validating: ./.machine_readable/integrations/vexometer.a2ml
   Validating: ./0-AI-MANIFEST.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./audits/assail-classifications.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
 ##[error]Missing required identity field (agent-id, name, or project)

GitHub Actions: Dogfood Gate / Validate A2ML manifests: docs(agents): add a GEMINI.md pointer to the maintained instructions

Conclusion: failure

View job details

##[group]A2ML Manifest Validation
 Scanning . for .a2ml files...
 Found 23 .a2ml file(s)
   Validating: ./.machine_readable/6a2/0-AI-MANIFEST.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./.machine_readable/6a2/AGENTIC.a2ml
   Validating: ./.machine_readable/6a2/ECOSYSTEM.a2ml
   Validating: ./.machine_readable/6a2/META.a2ml
   Validating: ./.machine_readable/6a2/NEUROSYM.a2ml
   Validating: ./.machine_readable/6a2/PLAYBOOK.a2ml
   Validating: ./.machine_readable/6a2/STATE.a2ml
   Validating: ./.machine_readable/6a2/anchor/0-AI-MANIFEST.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./.machine_readable/6a2/anchor/ANCHOR.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./.machine_readable/CLADE.a2ml
   Validating: ./.machine_readable/bot_directives/coverage.a2ml
   Validating: ./.machine_readable/bot_directives/debt.a2ml
   Validating: ./.machine_readable/bot_directives/methodology.a2ml
   Validating: ./.machine_readable/contractiles/Adjustfile.a2ml
   Validating: ./.machine_readable/contractiles/Intentfile.a2ml
   Validating: ./.machine_readable/contractiles/Mustfile.a2ml
   Validating: ./.machine_readable/contractiles/Trustfile.a2ml
   Validating: ./.machine_readable/integrations/feedback-o-tron.a2ml
   Validating: ./.machine_readable/integrations/proven.a2ml
   Validating: ./.machine_readable/integrations/verisimdb.a2ml
   Validating: ./.machine_readable/integrations/vexometer.a2ml
   Validating: ./0-AI-MANIFEST.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./audits/assail-classifications.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
 ##[error]Missing required identity field (agent-id, name, or project)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: hyperpolymath/conflow

Timestamp: 2026-09-08T23:50:32.397Z
Learning: Do not duplicate rules here.
🪛 GitHub Check: Hypatia
GEMINI.md

[warning] 1-1: Hypatia root_hygiene: stale
Stale AI session file -- delete

🔇 Additional comments (1)
GEMINI.md (1)

1-8: LGTM!


📝 Summary

Summary by CodeRabbit

  • Documentation
    • Added guidance for coding agents to consult the existing instruction file until dedicated agent guidance is available.
    • Clarified that tool-specific details should be skipped and instructions should not be duplicated.

Walkthrough

Adds GEMINI.md with guidance for coding agents. The guidance points to CLAUDE.md until AGENTS.md exists, excludes Claude Code-specific tooling details, and prevents duplicated rules.

Changes

Agent guidance

Layer / File(s) Summary
Add agent instruction pointer
GEMINI.md
Adds instructions for coding agents to use CLAUDE.md, skip Claude Code-specific details, and avoid duplicated rules.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 89160

This adds Gemini agent guidance that directs users to the existing repository instructions without changing application behavior or runtime configuration. No current merge-readiness risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The description clearly explains the addition of the GEMINI.md pointer and its purpose.
Title check ✅ Passed The title clearly and concisely describes the addition of a GEMINI.md pointer to the maintained instructions.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit reads the guide with care
It finds the rules already there
GEMINI points the pathway clear
No copied rules can interfere
AGENTS will arrive one day

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath marked this pull request as ready for review September 8, 2026 23:55
@hyperpolymath
hyperpolymath merged commit 7e7caa1 into main Sep 12, 2026
14 checks passed
@hyperpolymath
hyperpolymath deleted the chore/llm-pointer-2026-09-08 branch September 12, 2026 17:57
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