Skip to content

feat(dispatch): add gemini runtime adapter + declare gemini on skills - #94

Open
chitcommit wants to merge 6 commits into
mainfrom
feat/dispatch-gemini-adapter
Open

feat(dispatch): add gemini runtime adapter + declare gemini on skills#94
chitcommit wants to merge 6 commits into
mainfrom
feat/dispatch-gemini-adapter

Conversation

@chitcommit

Copy link
Copy Markdown
Contributor

What

Adds gemini as a dispatch projection runtime (parity with codex for skills).

Why

Operator directive: OpenClaw and Gemini/agy are canonical projection targets. OpenClaw already had an agent adapter + canonical declarations; Gemini had no adapter at all — declaring gemini without one fails the CI dispatch-audit (never-synced runtime). This builds the missing adapter.

Changes

  • adapters/gemini-skill.sh — canonical → Gemini SKILL.md, strict PyYAML round-trip, idempotent (mirrors codex-skill.sh, merges runtime_overrides.gemini).
  • lib/resolve_output.py — register ("gemini","agent"|"skill")plugins/{plugin}/gemini-skills/{name}/SKILL.md.
  • canonical/skills/*.md- gemini added to the 39 skills that declare - codex; dispatch.sh sync generated the 39 gemini-skills/**/SKILL.md.

Verification (local, all green)

dispatch sync idempotent · dispatch audit 158 cells / 0 drift / 0 orphans · lint ok · tests 86/86 · overlay coverage 106/106 · schema ok · provenance ok · marketplace.json unchanged.

Out of scope / follow-ups

  • Gemini install/consumer step (assemble gemini-skills/ into a ~/.gemini/extensions/chittymarket/ bundle) — not built here.
  • Agents → Gemini (gems) — skills-only in this PR.
  • capability-registry-audit was not run (ChittyMCP intermittent); flagging for reviewer.

🤖 Generated with Claude Code

Adds gemini as a first-class dispatch projection runtime so canonical
skills project to Gemini alongside claude-code and codex.

- adapters/gemini-skill.sh: canonical -> Gemini SKILL.md (strict PyYAML
  round-trip, idempotent, mirrors codex-skill.sh; merges
  runtime_overrides.gemini).
- lib/resolve_output.py: register ("gemini","agent"|"skill") ->
  plugins/{plugin}/gemini-skills/{name}/SKILL.md.
- canonical/skills/*.md: declare `- gemini` on every skill already
  declaring `- codex` (39 skills), then dispatch.sh sync generated the
  gemini-skills projections.

Local CI (validate-chittymarket.yml) all green: dispatch sync idempotent,
audit 158 cells 0 drift 0 orphans, lint ok, tests 86/86, overlay
coverage/schema/provenance ok, marketplace.json unchanged.

Caveats for review: new projection surface — capability-registry-audit
not run this session (ChittyMCP intermittent); Gemini install/consumer
step (extension bundle assembly from gemini-skills/) is out of scope here.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 145 files, which is 45 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 6e8a0c55-3726-4a5c-a544-600b1f92b8cf

📥 Commits

Reviewing files that changed from the base of the PR and between 22638e7 and f574294.

📒 Files selected for processing (145)
  • .claude-plugin/marketplace.json
  • .github/workflows/hydrate-pointers.yml
  • .github/workflows/validate-chittymarket.yml
  • canonical/.dispatch-state/mcp/neon.json
  • canonical/.dispatch-state/skills/capability-governor.json
  • canonical/.dispatch-state/skills/capability-registry-audit.json
  • canonical/.dispatch-state/skills/cast.json
  • canonical/.dispatch-state/skills/checkpoint.json
  • canonical/.dispatch-state/skills/chico.json
  • canonical/.dispatch-state/skills/chitty-autonomy-affirm.json
  • canonical/.dispatch-state/skills/chitty-autonomy-cicd.json
  • canonical/.dispatch-state/skills/chitty-autonomy-discover.json
  • canonical/.dispatch-state/skills/chitty-autonomy-generate.json
  • canonical/.dispatch-state/skills/chitty-autonomy-implement.json
  • canonical/.dispatch-state/skills/chitty-autonomy-plan.json
  • canonical/.dispatch-state/skills/chitty-autonomy-ship.json
  • canonical/.dispatch-state/skills/chitty-autonomy-tidy.json
  • canonical/.dispatch-state/skills/chitty-autonomy.json
  • canonical/.dispatch-state/skills/chitty-cleanup.json
  • canonical/.dispatch-state/skills/chitty-deploy.json
  • canonical/.dispatch-state/skills/chitty-health.json
  • canonical/.dispatch-state/skills/chitty-pipelines.json
  • canonical/.dispatch-state/skills/chitty-registry.json
  • canonical/.dispatch-state/skills/chittycontext.json
  • canonical/.dispatch-state/skills/chittygws.json
  • canonical/.dispatch-state/skills/chittyos-compliance.json
  • canonical/.dispatch-state/skills/chittyos-security-review.json
  • canonical/.dispatch-state/skills/chittyos-threat-model.json
  • canonical/.dispatch-state/skills/chittyxl.json
  • canonical/.dispatch-state/skills/cli-surface-projection.json
  • canonical/.dispatch-state/skills/cross-surface-hotloading.json
  • canonical/.dispatch-state/skills/dispute.json
  • canonical/.dispatch-state/skills/docket.json
  • canonical/.dispatch-state/skills/evidence-collect.json
  • canonical/.dispatch-state/skills/evidence-egress.json
  • canonical/.dispatch-state/skills/fact-governance.json
  • canonical/.dispatch-state/skills/goal-creator.json
  • canonical/.dispatch-state/skills/hygiene.json
  • canonical/.dispatch-state/skills/market.json
  • canonical/.dispatch-state/skills/mcp-tool-calling-rules.json
  • canonical/.dispatch-state/skills/nb-development-defaults.json
  • canonical/.dispatch-state/skills/nowebmaster-architecture.json
  • canonical/.dispatch-state/skills/retrospect.json
  • canonical/.dispatch-state/skills/skill-creator.json
  • canonical/.dispatch-state/skills/wrangler-audit.json
  • canonical/mcp/neon.md
  • canonical/skills/capability-governor.md
  • canonical/skills/capability-registry-audit.md
  • canonical/skills/cast.md
  • canonical/skills/checkpoint.md
  • canonical/skills/chico.md
  • canonical/skills/chitty-autonomy-affirm.md
  • canonical/skills/chitty-autonomy-cicd.md
  • canonical/skills/chitty-autonomy-discover.md
  • canonical/skills/chitty-autonomy-generate.md
  • canonical/skills/chitty-autonomy-implement.md
  • canonical/skills/chitty-autonomy-plan.md
  • canonical/skills/chitty-autonomy-ship.md
  • canonical/skills/chitty-autonomy-tidy.md
  • canonical/skills/chitty-autonomy.md
  • canonical/skills/chitty-cleanup.md
  • canonical/skills/chitty-deploy.md
  • canonical/skills/chitty-health.md
  • canonical/skills/chitty-pipelines.md
  • canonical/skills/chitty-registry.md
  • canonical/skills/chittycontext.md
  • canonical/skills/chittygws.md
  • canonical/skills/chittyos-compliance.md
  • canonical/skills/chittyos-security-review.md
  • canonical/skills/chittyos-threat-model.md
  • canonical/skills/chittyxl.md
  • canonical/skills/cli-surface-projection.md
  • canonical/skills/cross-surface-hotloading.md
  • canonical/skills/dispute.md
  • canonical/skills/docket.md
  • canonical/skills/evidence-collect.md
  • canonical/skills/evidence-egress.md
  • canonical/skills/fact-governance.md
  • canonical/skills/goal-creator.md
  • canonical/skills/hygiene.md
  • canonical/skills/market.md
  • canonical/skills/mcp-tool-calling-rules.md
  • canonical/skills/nb-development-defaults.md
  • canonical/skills/nowebmaster-architecture.md
  • canonical/skills/retrospect.md
  • canonical/skills/skill-creator.md
  • canonical/skills/wrangler-audit.md
  • plugins/chittyagent-autobot/gemini-skills/chitty-autonomy-affirm/SKILL.md
  • plugins/chittyagent-autobot/gemini-skills/chitty-autonomy-cicd/SKILL.md
  • plugins/chittyagent-autobot/gemini-skills/chitty-autonomy-discover/SKILL.md
  • plugins/chittyagent-autobot/gemini-skills/chitty-autonomy-generate/SKILL.md
  • plugins/chittyagent-autobot/gemini-skills/chitty-autonomy-implement/SKILL.md
  • plugins/chittyagent-autobot/gemini-skills/chitty-autonomy-plan/SKILL.md
  • plugins/chittyagent-autobot/gemini-skills/chitty-autonomy-ship/SKILL.md
  • plugins/chittyagent-autobot/gemini-skills/chitty-autonomy-tidy/SKILL.md
  • plugins/chittyagent-autobot/gemini-skills/chitty-autonomy/SKILL.md
  • plugins/chittyagent-dispatch/scripts/adapters/claude-code-mcp.sh
  • plugins/chittyagent-dispatch/scripts/adapters/gemini-skill.sh
  • plugins/chittyagent-dispatch/scripts/lib/audit.py
  • plugins/chittyagent-dispatch/scripts/lib/resolve_output.py
  • plugins/chittyagent-dispatch/scripts/pre-commit-drift.sh
  • plugins/chittymarket-manager/gemini-skills/market/SKILL.md
  • plugins/chittyos-core/codex-skills/chico/SKILL.md
  • plugins/chittyos-core/codex-skills/nb-development-defaults/SKILL.md
  • plugins/chittyos-core/gemini-skills/checkpoint/SKILL.md
  • plugins/chittyos-core/gemini-skills/chico/SKILL.md
  • plugins/chittyos-core/gemini-skills/chitty-cleanup/SKILL.md
  • plugins/chittyos-core/gemini-skills/chittycontext/SKILL.md
  • plugins/chittyos-core/gemini-skills/chittyxl/SKILL.md
  • plugins/chittyos-core/gemini-skills/goal-creator/SKILL.md
  • plugins/chittyos-core/gemini-skills/hygiene/SKILL.md
  • plugins/chittyos-core/gemini-skills/nb-development-defaults/SKILL.md
  • plugins/chittyos-core/gemini-skills/retrospect/SKILL.md
  • plugins/chittyos-core/gemini-skills/skill-creator/SKILL.md
  • plugins/chittyos-core/skills/chico/SKILL.md
  • plugins/chittyos-core/skills/nb-development-defaults/SKILL.md
  • plugins/chittyos-devops/gemini-skills/chitty-deploy/SKILL.md
  • plugins/chittyos-devops/gemini-skills/chitty-health/SKILL.md
  • plugins/chittyos-devops/gemini-skills/chitty-pipelines/SKILL.md
  • plugins/chittyos-devops/gemini-skills/chitty-registry/SKILL.md
  • plugins/chittyos-devops/gemini-skills/chittyos-compliance/SKILL.md
  • plugins/chittyos-devops/gemini-skills/wrangler-audit/SKILL.md
  • plugins/chittyos-governance/gemini-skills/capability-governor/SKILL.md
  • plugins/chittyos-governance/gemini-skills/capability-registry-audit/SKILL.md
  • plugins/chittyos-legal/gemini-skills/dispute/SKILL.md
  • plugins/chittyos-legal/gemini-skills/docket/SKILL.md
  • plugins/chittyos-legal/gemini-skills/evidence-collect/SKILL.md
  • plugins/chittyos-legal/gemini-skills/evidence-egress/SKILL.md
  • plugins/chittyos-legal/gemini-skills/fact-governance/SKILL.md
  • plugins/chittyos-mcp/gemini-skills/cast/SKILL.md
  • plugins/chittyos-mcp/gemini-skills/chittygws/SKILL.md
  • plugins/chittyos-security/.claude-plugin/plugin.json
  • plugins/chittyos-security/README.md
  • plugins/chittyos-security/codex-skills/chittyos-security-review/SKILL.md
  • plugins/chittyos-security/codex-skills/chittyos-threat-model/SKILL.md
  • plugins/chittyos-security/gemini-skills/chittyos-security-review/SKILL.md
  • plugins/chittyos-security/gemini-skills/chittyos-threat-model/SKILL.md
  • plugins/chittyos-security/skills/chittyos-security-review/SKILL.md
  • plugins/chittyos-security/skills/chittyos-threat-model/SKILL.md
  • plugins/neon-mcp/.mcp.json
  • plugins/nowebmaster/gemini-skills/cli-surface-projection/SKILL.md
  • plugins/nowebmaster/gemini-skills/cross-surface-hotloading/SKILL.md
  • plugins/nowebmaster/gemini-skills/mcp-tool-calling-rules/SKILL.md
  • plugins/nowebmaster/gemini-skills/nowebmaster-architecture/SKILL.md
  • scripts/generate-marketplace.sh

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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

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

NB and others added 5 commits August 17, 2026 20:51
Separated review of PR #94 found audit.py's ORPHAN_PROJ scan and
pre-commit-drift.sh both hardcode the generated-runtime dir list and
omitted gemini-skills — so a gemini projection file with no canonical
backing could never be flagged (green-because-blind).

- lib/audit.py: add gemini-skills to the ORPHAN_PROJ os.walk set.
- pre-commit-drift.sh: extend the codex-skills case to also match
  plugins/*/gemini-skills/*/SKILL.md (identical name extraction).

Verified: planting a bogus plugins/*/gemini-skills/*/SKILL.md now makes
`dispatch.sh audit` fail with ORPHAN_PROJ; removing it returns rc=0.
Follow-up: derive the generated-dir set from _MAP so new runtimes can't
reopen this hole.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the hardcoded generated-dir tuple in audit.py with a set derived
from resolve_output._MAP (excluding claude-code shared dirs). Closes the
bug class the adversarial review of #94 found: a new runtime added to _MAP
can no longer silently escape the ORPHAN_PROJ scan.

Verified: audit clean, and a planted gemini-skills orphan is still caught
(rc=1) via the derived set.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ky79TDgdyZ8eDVsBcBkHSG
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.

1 participant