fix: replace backslash with forward slash in /generate-image command#46
fix: replace backslash with forward slash in /generate-image command#46
Conversation
- Added sin-box-storage MCP entry to opencode.json - MCP wrapper: python3 /Users/jeremy/dev/A2A-SIN-Box-Storage/scripts/mcp-box-storage.py - Environment: BOX_STORAGE_URL, BOX_STORAGE_API_KEY - Tools: box_upload_file, box_validate_file, box_list_public_files, box_get_health Closes: #25
…rm-registry contract templates (#26) - templates/governance/repo-governance.template.json: concrete template with fail-closed rules - templates/governance/pr-watcher.template.json: PR review automation + credential scanning - templates/governance/platform-registry.template.json: platform intake with fail-closed default - templates/governance/README.md: usage guide for factory and backfill workflows These templates complement the existing JSON Schemas (repo-governance.schema.json, etc.) and provide copy-ready instances for the factory pipeline and manual backfill. Resolves #26
…efresh tokens twice
…44) Line 190 used \\generate-image instead of /generate-image, causing the opencode CLI command to fail silently. The backslash is not a valid command prefix — opencode commands use forward-slash (e.g. /generate-image). Verified: line 190 now reads /generate-image, no backslash present.
📝 WalkthroughWalkthroughIntroduces team configuration for coding agents, adds a new MCP storage service to opencode.json, creates governance template files with documentation, and updates a command prefix in the thumbnail generation script. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (2)
opencode.json (1)
503-505: Make the MCP command path portable (current path is machine-specific).Line 504 hardcodes
/Users/jeremy/..., which is host-specific. With Line 510 set to enabled, this is likely to break on other machines.♻️ Safer default for shared config
- "enabled": true + "enabled": falseAlso applies to: 510-510
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@opencode.json` around lines 503 - 505, The command array currently uses a machine-specific absolute path (the entry containing "python3" and "/Users/jeremy/dev/A2A-SIN-Box-Storage/scripts/mcp-box-storage.py"); replace the hardcoded absolute path with a portable alternative such as a repository-relative path ("./scripts/mcp-box-storage.py") or make the script path configurable via an environment variable (e.g., respect MCP_COMMAND or fall back to "./scripts/mcp-box-storage.py"), or invoke an installed entrypoint on PATH; update the JSON entry accordingly and ensure the script is included in the repo or documented for installation.my-sin-coding-agents.json (1)
2-2: Consider pinning the schema to a specific version.The
$schemaURL references themainbranch, which means the schema definition could change over time and potentially break validation. Consider using a versioned schema URL or a commit SHA for stability.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@my-sin-coding-agents.json` at line 2, The $schema field currently points to the repository's main branch which can drift; update the "$schema" value to a stable, versioned URL or a commit SHA (for example replace the "main" URL with a tag/commit-based URL or a release-specific path) so the schema used for validation is pinned and immutable; locate the "$schema" key in the JSON (the existing "$schema" entry) and update its string value to the chosen versioned URL or commit reference.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@my-sin-coding-agents.json`:
- Around line 1-55: The PR title references fixing path separators for a
/generate-image command but the changed file my-sin-coding-agents.json is a team
configuration (contains keys like "team_id", "members", and member entries such
as "A2A-SIN-Code-Tool" and "A2A-SIN-Code-Backend"); confirm whether this file
truly belongs to the change set, if the PR accidentally includes unrelated
files, and if so either remove this JSON from the PR or split into a separate PR
and update the PR description to list all affected files and the actual change
to the /generate-image command (or move the path-separator fix into the
repo/file that implements /generate-image).
- Around line 7-11: The model identifiers in the configuration (fields
primary_model and fallback_models containing
"google/antigravity-claude-sonnet-4-6", "openai/gpt-5.4", and
"google/antigravity-gemini-3.1-pro") look non-standard; confirm these exact IDs
match your deployment registry or replace them with official provider model IDs
(e.g., gemini-2.0-flash, gpt-4-turbo, etc.) used by your runtime, then update
primary_model and/or fallback_models accordingly and validate by running a quick
test call to the model endpoint to ensure the identifiers resolve.
In `@opencode.json`:
- Around line 506-509: The environment entry for BOX_STORAGE_API_KEY is using
unsupported interpolation syntax `${BOX_STORAGE_API_KEY}`; update the value in
the environment object (the "BOX_STORAGE_API_KEY" key) to use OpenCode's
supported form `{env:BOX_STORAGE_API_KEY}` so the real MCP API key is injected
at runtime instead of the literal string.
In `@templates/governance/pr-watcher.template.json`:
- Line 12: The template currently defaults followupCommand to an unconditional
approval ("followupCommand" value "gh pr review --approve"); change this to a
non-approving safe default by either removing the approve flag or clearing the
followupCommand value (e.g., set followupCommand to an empty string or a neutral
command) so adopters must explicitly opt into approving PRs; update the
"followupCommand" entry in the pr-watcher.template.json accordingly (refer to
the followupCommand key in the JSON).
In `@templates/governance/README.md`:
- Line 33: The README currently uses the macOS/BSD-only sed invocation `sed -i
''` which fails on GNU sed in CI; update the line that targets
`governance/*.json` and `platforms/*.json` to show both platform-specific
variants by replacing the single `sed -i '' 's/{{REPO_SLUG}}/your-agent-slug/g'
governance/*.json platforms/*.json` entry with two clearly labeled commands: one
example for macOS/BSD (using the `-i ''` form) and one for Linux/GNU (using the
`-i` form), and add a short note advising which to use in CI/environments to
prevent failures.
---
Nitpick comments:
In `@my-sin-coding-agents.json`:
- Line 2: The $schema field currently points to the repository's main branch
which can drift; update the "$schema" value to a stable, versioned URL or a
commit SHA (for example replace the "main" URL with a tag/commit-based URL or a
release-specific path) so the schema used for validation is pinned and
immutable; locate the "$schema" key in the JSON (the existing "$schema" entry)
and update its string value to the chosen versioned URL or commit reference.
In `@opencode.json`:
- Around line 503-505: The command array currently uses a machine-specific
absolute path (the entry containing "python3" and
"/Users/jeremy/dev/A2A-SIN-Box-Storage/scripts/mcp-box-storage.py"); replace the
hardcoded absolute path with a portable alternative such as a
repository-relative path ("./scripts/mcp-box-storage.py") or make the script
path configurable via an environment variable (e.g., respect MCP_COMMAND or fall
back to "./scripts/mcp-box-storage.py"), or invoke an installed entrypoint on
PATH; update the JSON entry accordingly and ensure the script is included in the
repo or documented for installation.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 06f99ac3-7ba8-46b4-9024-94cc083a5b1c
⛔ Files ignored due to path filters (1)
local-plugins/opencode-qwen-auth/dist/src/plugin.jsis excluded by!**/dist/**
📒 Files selected for processing (7)
my-sin-coding-agents.jsonopencode.jsonskills/gen-thumbnail/scripts/generate_thumbnail_pipeline.jstemplates/governance/README.mdtemplates/governance/platform-registry.template.jsontemplates/governance/pr-watcher.template.jsontemplates/governance/repo-governance.template.json
| { | ||
| "$schema": "https://github.com/Delqhi/upgraded-opencode-stack/blob/main/schemas/team-config.schema.json", | ||
| "team_id": "team-coding-agents", | ||
| "name": "Team Coding Agents (6 dedicated repos)", | ||
| "description": "6 dedicated A2A Coder Agents with individual GitHub repos — split from monolithic OpenSIN-Code for isolated deployments, independent versioning, and crash-storm protection. Established after BUG-OCI-001 (OCI VM disk-full incident, 2026-04-16).", | ||
| "manager": "A2A-SIN-Zeus", | ||
| "primary_model": "google/antigravity-claude-sonnet-4-6", | ||
| "fallback_models": [ | ||
| "openai/gpt-5.4", | ||
| "google/antigravity-gemini-3.1-pro", | ||
| "qwen/coder-model" | ||
| ], | ||
| "established": "2026-04-17", | ||
| "bug_references": [ | ||
| "BUG-OCI-001" | ||
| ], | ||
| "members": { | ||
| "A2A-SIN-Code-Backend": { | ||
| "github": "https://github.com/OpenSIN-AI/A2A-SIN-Code-Backend", | ||
| "port": 7863, | ||
| "purpose": "Backend specialists — Server, OracleCloud, APIs", | ||
| "specialization": "backend-api-server" | ||
| }, | ||
| "A2A-SIN-Code-Command": { | ||
| "github": "https://github.com/OpenSIN-AI/A2A-SIN-Code-Command", | ||
| "port": 7861, | ||
| "purpose": "Command/CLI agents — shell, automation, scripting", | ||
| "specialization": "cli-automation" | ||
| }, | ||
| "A2A-SIN-Code-Frontend": { | ||
| "github": "https://github.com/OpenSIN-AI/A2A-SIN-Code-Frontend", | ||
| "port": 7865, | ||
| "purpose": "Frontend specialists — UI/UX, React, CSS", | ||
| "specialization": "frontend-ui-ux" | ||
| }, | ||
| "A2A-SIN-Code-Fullstack": { | ||
| "github": "https://github.com/OpenSIN-AI/A2A-SIN-Code-Fullstack", | ||
| "port": 7864, | ||
| "purpose": "Fullstack specialists — end-to-end implementations", | ||
| "specialization": "fullstack-end-to-end" | ||
| }, | ||
| "A2A-SIN-Code-Plugin": { | ||
| "github": "https://github.com/OpenSIN-AI/A2A-SIN-Code-Plugin", | ||
| "port": 7860, | ||
| "purpose": "Plugin developers — MCPs, integrations, auth", | ||
| "specialization": "plugins-mcps-integrations" | ||
| }, | ||
| "A2A-SIN-Code-Tool": { | ||
| "github": "https://github.com/OpenSIN-AI/A2A-SIN-Code-Tool", | ||
| "port": 7862, | ||
| "purpose": "Tool builders — CLI utilities, external integrations", | ||
| "specialization": "cli-utilities-external-tools" | ||
| } | ||
| } | ||
| } No newline at end of file |
There was a problem hiding this comment.
Clarify the relationship between PR title and file content.
The PR title indicates a fix for "replace backslash with forward slash in /generate-image command," but this file (my-sin-coding-agents.json) is a team configuration file with no apparent connection to image generation or path separators.
Please verify:
- Is this the correct file for this PR?
- Does the PR contain multiple unrelated changes?
- Should this be in a separate PR?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@my-sin-coding-agents.json` around lines 1 - 55, The PR title references
fixing path separators for a /generate-image command but the changed file
my-sin-coding-agents.json is a team configuration (contains keys like "team_id",
"members", and member entries such as "A2A-SIN-Code-Tool" and
"A2A-SIN-Code-Backend"); confirm whether this file truly belongs to the change
set, if the PR accidentally includes unrelated files, and if so either remove
this JSON from the PR or split into a separate PR and update the PR description
to list all affected files and the actual change to the /generate-image command
(or move the path-separator fix into the repo/file that implements
/generate-image).
| "primary_model": "google/antigravity-claude-sonnet-4-6", | ||
| "fallback_models": [ | ||
| "openai/gpt-5.4", | ||
| "google/antigravity-gemini-3.1-pro", | ||
| "qwen/coder-model" |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
Are "google/antigravity-claude-sonnet-4-6" and "google/antigravity-gemini-3.1-pro" valid Google AI model identifiers as of April 2026?
💡 Result:
No, "google/antigravity-claude-sonnet-4-6" and "google/antigravity-gemini-3.1-pro" are not valid Google AI model identifiers as of April 2026. They appear to be provider-prefixed model IDs used in third-party tools like OpenClaw that integrate with Google's Antigravity IDE/platform, which hosts models such as claude-sonnet-4-6 and gemini-3.1-pro (or variants like gemini-3.1-pro-high/low). Official Google AI model identifiers, per Vertex AI and Gemini documentation, use formats like "gemini-3.1-pro" or "claude-sonnet-4-5" without the "google/antigravity-" prefix, as Antigravity acts as a unified gateway for models from Google, Anthropic, etc.
Citations:
- 1: feat: add Sonnet 4.6 forward compat for google-antigravity openclaw/openclaw#23250
- 2: https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/claude/sonnet-4-5
- 3: https://www.anthropic.com/news/claude-sonnet-4-6
- 4: https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-1-pro/
- 5: https://antigravitylab.net/en/articles/integrations/antigravity-gemini-31-pro-integration
- 6: https://antigravity.google/blog/gemini-3-1-pro-in-google-antigravity
- 7: https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models
- 8: https://antigravity.google/docs/models
- 9: https://github.com/NoeFabris/opencode-antigravity-auth/blob/main/docs/ANTIGRAVITY_API_SPEC.md
- 10: feat(antigravity): add gemini and claude models to default allowlist openclaw/openclaw#2890
- 11: fix: add google-antigravity provider to forward-compat model resolution (closes #27311) openclaw/openclaw#46880
Confirm these model identifiers match your deployment environment.
These model IDs use non-standard formatting:
google/antigravity-claude-sonnet-4-6andgoogle/antigravity-gemini-3.1-proappear to be OpenClaw/Antigravity platform-specific identifiers rather than standard Google AI endpointsopenai/gpt-5.4has an unusually high version number
If these are intentional for your deployment, confirm they're correct. If deploying with standard APIs, they should be updated to use official model identifiers (e.g., gemini-2.0-flash, gpt-4-turbo).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@my-sin-coding-agents.json` around lines 7 - 11, The model identifiers in the
configuration (fields primary_model and fallback_models containing
"google/antigravity-claude-sonnet-4-6", "openai/gpt-5.4", and
"google/antigravity-gemini-3.1-pro") look non-standard; confirm these exact IDs
match your deployment registry or replace them with official provider model IDs
(e.g., gemini-2.0-flash, gpt-4-turbo, etc.) used by your runtime, then update
primary_model and/or fallback_models accordingly and validate by running a quick
test call to the model endpoint to ensure the identifiers resolve.
| "environment": { | ||
| "BOX_STORAGE_URL": "http://room-09-box-storage:3000", | ||
| "BOX_STORAGE_API_KEY": "${BOX_STORAGE_API_KEY}" | ||
| }, |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
OpenCode CLI opencode.jsondocs: what is the supported syntax for environment variable references insidemcp..environmentvalues —${VAR}or{env:VAR}?
💡 Result:
The supported syntax for environment variable references inside mcp..environment values in OpenCode CLI's opencode.json is {env:VAR}. OpenCode's configuration files support variable substitution throughout, including in MCP configurations. The official documentation explicitly states: "Use {env:VARIABLE_NAME} to substitute environment variables." Examples show this syntax used in MCP URLs, headers, and command args (e.g., --api-key "{env:CONTEXT7_API_KEY}"), and since environment values are strings processed the same way, it applies there. No sources mention ${VAR} as supported syntax. Hardcoded string values are shown in basic examples (e.g., "MY_ENV_VAR": "my_env_var_value"), but the general variable substitution mechanism uses {env:VAR}. This is confirmed across official config docs, MCP server docs, and GitHub issues/discussions where {env:VAR} is used successfully in MCP contexts.
Citations:
- 1: https://opencode.ai/docs/en/config/
- 2: https://opencode.ai/docs/config/
- 3: https://open-code.ai/docs/en/config
- 4: https://open-code.ai/en/docs/config
- 5:
{env:...}variable substitution inconsistently fails for specific MCP server URLs anomalyco/opencode#5299 - 6: https://opencode-tutorial.com/en/docs/mcp-servers
- 7: https://thdxr.dev.opencode.ai/docs/mcp-servers/
- 8: Support for expansion in mcp servers anomalyco/opencode#2978
Fix env variable interpolation syntax for MCP API key.
At Line 508, BOX_STORAGE_API_KEY uses ${BOX_STORAGE_API_KEY}, which OpenCode does not support. The correct syntax is {env:BOX_STORAGE_API_KEY}. With the current syntax, the literal string ${BOX_STORAGE_API_KEY} will be passed to the MCP server, causing authentication to fail at runtime.
Fix
"environment": {
"BOX_STORAGE_URL": "http://room-09-box-storage:3000",
- "BOX_STORAGE_API_KEY": "${BOX_STORAGE_API_KEY}"
+ "BOX_STORAGE_API_KEY": "{env:BOX_STORAGE_API_KEY}"
},📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "environment": { | |
| "BOX_STORAGE_URL": "http://room-09-box-storage:3000", | |
| "BOX_STORAGE_API_KEY": "${BOX_STORAGE_API_KEY}" | |
| }, | |
| "environment": { | |
| "BOX_STORAGE_URL": "http://room-09-box-storage:3000", | |
| "BOX_STORAGE_API_KEY": "{env:BOX_STORAGE_API_KEY}" | |
| }, |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@opencode.json` around lines 506 - 509, The environment entry for
BOX_STORAGE_API_KEY is using unsupported interpolation syntax
`${BOX_STORAGE_API_KEY}`; update the value in the environment object (the
"BOX_STORAGE_API_KEY" key) to use OpenCode's supported form
`{env:BOX_STORAGE_API_KEY}` so the real MCP API key is injected at runtime
instead of the literal string.
| "noisePrefixes": ["chore(deps):", "ci:"], | ||
| "noiseSubstrings": ["bump version", "auto-generated"], | ||
| "watcherScript": "scripts/watch-pr-feedback.sh", | ||
| "followupCommand": "gh pr review --approve", |
There was a problem hiding this comment.
Avoid defaulting to unconditional PR approval in shared governance templates.
gh pr review --approve as a template default creates a broad auto-approval path for every adopting repo. Make approval explicit per-repo, and keep the shared default non-approving.
🔧 Safer default
- "followupCommand": "gh pr review --approve",
+ "followupCommand": "gh pr review --comment --body \"Auto-review completed; manual approval required.\"",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "followupCommand": "gh pr review --approve", | |
| "followupCommand": "gh pr review --comment --body \"Auto-review completed; manual approval required.\"", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@templates/governance/pr-watcher.template.json` at line 12, The template
currently defaults followupCommand to an unconditional approval
("followupCommand" value "gh pr review --approve"); change this to a
non-approving safe default by either removing the approve flag or clearing the
followupCommand value (e.g., set followupCommand to an empty string or a neutral
command) so adopters must explicitly opt into approving PRs; update the
"followupCommand" entry in the pr-watcher.template.json accordingly (refer to
the followupCommand key in the JSON).
| cp templates/governance/platform-registry.template.json platforms/registry.json | ||
|
|
||
| # Replace placeholder with actual repo slug | ||
| sed -i '' 's/{{REPO_SLUG}}/your-agent-slug/g' governance/*.json platforms/*.json |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify docs do not contain BSD-only in-place sed syntax without GNU alternative.
# Expected result after fix: either no matches, or both macOS and Linux variants documented.
rg -nP "sed\s+-i\s+''" --type mdRepository: Delqhi/upgraded-opencode-stack
Length of output: 188
🏁 Script executed:
# Search for other sed usages in documentation
rg "sed\s+" templates/governance/README.md -A 1 -B 1
# Check if there are any other platform-specific notes or patterns in the repo
rg -l "macOS|Linux|GNU|BSD" --type md | head -10
# Look for existing sed patterns in shell scripts or docs
rg "sed\s+-i" --type sh -c 5Repository: Delqhi/upgraded-opencode-stack
Length of output: 1102
🏁 Script executed:
# Get more context around the sed line in the README
cat -n templates/governance/README.md | sed -n '25,40p'
# Check for any platform-specific guidance in the repo
rg "platform|macOS|Linux|cross-platform" templates/governance/README.md
# Look for .sed alternatives or other sed patterns
rg "\-i\." --type md --type sh | head -10Repository: Delqhi/upgraded-opencode-stack
Length of output: 1471
🏁 Script executed:
# Check if there are shell scripts in the repo with sed usage patterns
fd -e sh -e bash | head -20 | xargs rg "sed\s+-i" --no-heading -A 0 -B 0
# Check the exact context of the sed command in the README
cat -n templates/governance/README.md | sed -n '32,34p'
# Look for any existing cross-platform handling patterns
rg "platform" templates/governance/README.md --context 2Repository: Delqhi/upgraded-opencode-stack
Length of output: 2700
🏁 Script executed:
# Check if there's any CI/GitHub Actions that might indicate platform support
fd -e yml -e yaml | xargs grep -l "macos\|ubuntu\|linux" | head -5
# Look for any .sedrc or sed configuration
find . -name ".sed*" -o -name "*sed*rc"
# Check if there's any mention of cross-platform or sed alternatives
rg "cross.platform|gsed|perl.*substitute" --type md --type shRepository: Delqhi/upgraded-opencode-stack
Length of output: 544
🏁 Script executed:
# Check the CI workflow to see what platform(s) it runs on
cat scripts/ci-workflow-template.yml | head -50
# Look for any OS detection or platform-specific commands in setup
rg "runs-on|runner|uname|darwin" scripts/ci-workflow-template.ymlRepository: Delqhi/upgraded-opencode-stack
Length of output: 514
Provide both macOS/BSD and Linux/GNU sed syntax variants in the documentation.
The sed -i '' command fails on GNU sed (standard on Linux/CI environments). Since the CI runs on ubuntu-latest, users following these docs will encounter errors. Provide both variants:
Suggested docs update
# Replace placeholder with actual repo slug
-sed -i '' 's/{{REPO_SLUG}}/your-agent-slug/g' governance/*.json platforms/*.json
+# macOS / BSD sed
+sed -i '' 's/{{REPO_SLUG}}/your-agent-slug/g' governance/*.json platforms/*.json
+# Linux / GNU sed
+sed -i 's/{{REPO_SLUG}}/your-agent-slug/g' governance/*.json platforms/*.json📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| sed -i '' 's/{{REPO_SLUG}}/your-agent-slug/g' governance/*.json platforms/*.json | |
| # Replace placeholder with actual repo slug | |
| # macOS / BSD sed | |
| sed -i '' 's/{{REPO_SLUG}}/your-agent-slug/g' governance/*.json platforms/*.json | |
| # Linux / GNU sed | |
| sed -i 's/{{REPO_SLUG}}/your-agent-slug/g' governance/*.json platforms/*.json |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@templates/governance/README.md` at line 33, The README currently uses the
macOS/BSD-only sed invocation `sed -i ''` which fails on GNU sed in CI; update
the line that targets `governance/*.json` and `platforms/*.json` to show both
platform-specific variants by replacing the single `sed -i ''
's/{{REPO_SLUG}}/your-agent-slug/g' governance/*.json platforms/*.json` entry
with two clearly labeled commands: one example for macOS/BSD (using the `-i ''`
form) and one for Linux/GNU (using the `-i` form), and add a short note advising
which to use in CI/environments to prevent failures.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation