Skip to content

fix(codex): pass directory listing validation (category + logo/icon)#306

Open
efenocchi wants to merge 2 commits into
mainfrom
fix/codex-plugin-listing-assets
Open

fix(codex): pass directory listing validation (category + logo/icon)#306
efenocchi wants to merge 2 commits into
mainfrom
fix/codex-plugin-listing-assets

Conversation

@efenocchi

@efenocchi efenocchi commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

What

The official OpenAI plugin directory rejected the uploaded manifest with three validation errors. This fixes them at the source so the next release ships a valid manifest.

Rejected Fix
interface.category must be title-case productivityProductivity
interface.logo required (square image) add ./assets/logo.png (1024×1024)
interface.composerIcon required (square image) add ./assets/icon.png (1024×1024)

Both PNGs are rasterized from docs/public/hivemind-logo.svg and padded to an exact square canvas (no distortion).

Verified

  • Manifest is valid JSON; category is Productivity; logo/composerIcon resolve to the new assets.
  • Packaged the plugin tree and confirmed the directory validator's three errors are gone (the upload artifact was regenerated from this branch).

Follow-up (login-bound)

The rest of the submission stays with the account owner: identity verification + Apps Management: Write, listing URLs, starter prompts, and the 5/3 test cases from harnesses/codex/SUBMISSION.md.

Summary by CodeRabbit

  • Enhancements
    • Refreshed the plugin’s UI metadata, including updated category naming for consistent display.
    • Improved the plugin interface presentation with clearer capability labels (e.g., persistent memory, session capture, semantic search).
    • Added additional interface details such as privacy/terms links, default prompt, and branding elements (logo, composer icon, brand color), plus related manifest fields (e.g., screenshots).

…o/icon)

The official plugin directory rejected the manifest: interface.category must
be title-case (Productivity), and interface.logo + interface.composerIcon are
required square images. Capitalize the category and add 1024x1024 square PNGs
(rasterized from docs/public/hivemind-logo.svg) under harnesses/codex/assets/.
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The Codex plugin manifest updates top-level package metadata and expands interface metadata with revised capability labels, policy links, prompt, branding, asset, and screenshot fields.

Changes

Codex plugin manifest

Layer / File(s) Summary
Update plugin manifest metadata
harnesses/codex/.codex-plugin/plugin.json
Top-level metadata adds homepage and license and reorganizes repository and keywords. Interface metadata changes the category and capability labels and adds policy, prompt, branding, asset, and screenshot fields.

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

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately reflects the main change: fixing Codex directory validation by updating category and icon assets.
Description check ✅ Passed It clearly explains the fix and verification, but it does not follow the template headings exactly or mention version bump/test-plan details.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/codex-plugin-listing-assets

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.

@github-actions

Copy link
Copy Markdown
Contributor

Coverage Report

No src/*.ts files changed in this PR.

Generated for commit 49a97ae.

Mirror the accepted skills-only curated plugins (sentry, coderabbit): add
homepage, license (Apache-2.0), and the interface fields the directory expects
(privacyPolicyURL, termsOfServiceURL, defaultPrompt, brandColor, screenshots).
Flatten the logo/composerIcon to opaque 512x512 squares. The directory upload
is packaged skills-only (no hooks/bundle) to match the accepted plugin shape.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@harnesses/codex/.codex-plugin/plugin.json`:
- Around line 5-19: Fix the broken asset references in the plugin manifest by
adding the missing icon.png and logo.png files under the .codex-plugin assets
directory, or update the manifest’s asset paths to point to existing files;
ensure all referenced assets resolve correctly.
🪄 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: b117b588-12db-44dc-9c68-31d43f2c6b27

📥 Commits

Reviewing files that changed from the base of the PR and between 9920bad and 035fd6f.

⛔ Files ignored due to path filters (2)
  • harnesses/codex/assets/icon.png is excluded by !**/*.png
  • harnesses/codex/assets/logo.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • harnesses/codex/.codex-plugin/plugin.json

Comment on lines 5 to +19
"author": {
"name": "Activeloop",
"url": "https://deeplake.ai"
},
"homepage": "https://deeplake.ai",
"repository": "https://github.com/activeloopai/hivemind",
"license": "Apache-2.0",
"keywords": [
"memory",
"deeplake",
"persistent-memory",
"session-capture",
"search"
],
"skills": "./skills/",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify plugin asset files exist and manifest references are consistent.

# Check that the referenced asset files exist relative to the plugin directory
PLUGIN_DIR="harnesses/codex/.codex-plugin"
echo "=== Checking assets ==="
for f in "$PLUGIN_DIR/assets/icon.png" "$PLUGIN_DIR/assets/logo.png"; do
  if [ -f "$f" ]; then
    echo "FOUND: $f"
    # Check dimensions are square
    file "$f"
  else
    echo "MISSING: $f"
  fi
done

# List the full plugin tree to confirm skills-only packaging
echo "=== Plugin tree ==="
find "$PLUGIN_DIR" -type f | sort

Repository: activeloopai/hivemind

Length of output: 355


🏁 Script executed:

#!/bin/bash
set -euo pipefail

PLUGIN_JSON="harnesses/codex/.codex-plugin/plugin.json"

echo "=== Manifest excerpt ==="
nl -ba "$PLUGIN_JSON" | sed -n '1,120p'

echo "=== Referenced asset paths ==="
python3 - <<'PY'
import json, pathlib
p = pathlib.Path("harnesses/codex/.codex-plugin/plugin.json")
data = json.loads(p.read_text())
for key in ("composerIcon", "logo"):
    print(f"{key}: {data.get(key)}")
PY

Repository: activeloopai/hivemind

Length of output: 224


Fix the broken asset references. ./assets/icon.png and ./assets/logo.png are missing from harnesses/codex/.codex-plugin/, so the manifest points at dead paths for the icon and logo.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@harnesses/codex/.codex-plugin/plugin.json` around lines 5 - 19, Fix the
broken asset references in the plugin manifest by adding the missing icon.png
and logo.png files under the .codex-plugin assets directory, or update the
manifest’s asset paths to point to existing files; ensure all referenced assets
resolve correctly.

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