docs(solutions): capture why the Agent Plugins $schema is a host routing switch - #1428
Conversation
…ing switch Learning from #1412/#1411 (PRs #1426, #1427): Codex >=0.147 and oh-my-pi >=17.3 both branch on the root plugin.json $schema prefix into strict paths that truncate or drop most skills; the root manifest stays schema-less and CI asserts it. Claude-Session: https://claude.ai/code/session_0139gs5yWrMWY9Crx17Ci2Zv
PR SummaryCursor Bugbot is generating a summary for commit 8120a5b. Configure here. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8120a5b603
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| } | ||
| ``` | ||
|
|
||
| **PR #1427** pinned the posture in `tests/codex-skill-prompt-budget.test.ts`: |
There was a problem hiding this comment.
Land the referenced prevention guard before documenting it
This commit is based directly on PR #1426 (961d90f), so the reviewed tree does not contain the claimed PR #1427 posture: tests/codex-skill-prompt-budget.test.ts still forbids the schema only while a skill exceeds 8 KB, and docs/specs/agent-plugins.md still instructs maintainers to restore it once the allowlist is empty. If this commit is consumed without the separate #1427 change, the solution and Prevention sections falsely promise an unconditional guard and can direct maintainers back to the routing regression; rebase this documentation onto the guard change or describe the actual conditional posture.
Useful? React with 👍 / 👎.
* fix(ce-commit-push-pr): root PR stacks on the parent PR the user named (EveryInc#1365) * fix(ce-babysit-pr): decode gh output as UTF-8 on Windows (EveryInc#1368) * fix(ce-prototype): cover decisions settled by seeing, not just driving (EveryInc#1369) * perf(tests): cut suite wall time by splitting the largest test file (EveryInc#1370) * fix(tests): stop the cross-model routes test reading the working tree (EveryInc#1371) * fix(ce-doc-review): ask only where a real choice exists, batch the rest (EveryInc#1373) * feat(ce-prototype): add a seeing-mode craft floor and durable storage (EveryInc#1374) * fix(ce-pov): stop the panel guessing the cross-model host argument (EveryInc#1375) * chore(cross-model): pin the Grok peer to 4.6 (EveryInc#1376) * docs(skills): rewrite user skill pages for accuracy and clearer use (EveryInc#1377) * fix(commit): append known plan unit ids to commit subjects (EveryInc#1379) * fix(ce-work): stop sandboxed workers committing in linked worktrees (EveryInc#1382) * fix(ce-doc-review): edit HTML plans in native format (EveryInc#1381) * fix(ce-code-review): cover adversarial after quota or auth no-review (EveryInc#1380) * fix(skills): correct a rejected dispatch instead of spending the fallback (EveryInc#1383) * fix(ce-compound): find Claude sessions started outside the repo root (EveryInc#1378) * ci(windows-native): retry peer-job-runner smoke on ctypes flake (EveryInc#1384) * fix(ce-debug): stop asking at the handoff, stop shipping unoffered work (EveryInc#1385) * docs(solutions): record why skill gates state conditions, not git commands (EveryInc#1386) * fix(skills): drop the residual-findings record file for real sinks (EveryInc#1387) * fix(ce-doc-review): run the cross-model pass when CROSS_MODEL_PEERS is unset (EveryInc#1389) * fix(ce-proof): sync with current Proof v3 contract (EveryInc#1390) * fix(skill-authoring): make goal-first the default when authoring and reviewing skills (EveryInc#1391) * fix(cross-model): let reviews run on Fable and pin model/effort from CE config (EveryInc#1392) * docs(cross-model): point superseded peer benchmarks at the luna/xhigh decision (EveryInc#1393) * fix(cross-model): discover the Codex.app-bundled codex CLI and name the peer-CLI requirement (EveryInc#1395) * feat(cross-model): add cross_model_review_mode checkout egress gate (EveryInc#1396) * fix(ce-compound-refresh): compare knowledge-track learnings against guidance they name (EveryInc#1399) * docs(solutions): capture the named-guidance contradiction-check learning (EveryInc#1400) * fix(ce-compound): prefer the repo's own frontmatter vocabulary over the Rails-era enums (EveryInc#1394) * fix(ce-work): stop asking about branches before starting work (EveryInc#1397) * fix(review): answer covered cases on skill prose with the condition, not a patch (EveryInc#1401) * fix(scratch): fall back to $TMPDIR when /tmp cannot host the scratch root (EveryInc#1398) * feat(ce-skill-work): repo-local skill for authoring, editing, reviewing, and responding to review on skills (EveryInc#1402) * fix(ce-pov): reject non-final peer positions instead of folding them in (EveryInc#1403) * feat(manifest): add Agent Plugins v1.0.0 manifest support (EveryInc#1345) * chore: release main (EveryInc#1354) * fix(ce-work): run cross-model verification on warm checkouts (EveryInc#1404) * fix(ce-skill-work): author for Sol/Fable, not Opus-era procedure (EveryInc#1408) * docs(skill-design): retarget stale learning citations (EveryInc#1409) * fix(ce-setup): support read-only sandboxes (EveryInc#1407) * fix(ce-skill-work): require pointer descriptions (EveryInc#1410) * chore: release main (EveryInc#1405) * fix(ce-work): let a project-defined shipping process override ce-commit-push-pr (EveryInc#1416) * fix(ce-doc-review): state the CROSS_MODEL_PEERS gate as a condition at the gate (EveryInc#1421) * fix(ce-strategy): ground the interview in the repo and share the file safely (EveryInc#1419) * fix(ce-babysit-pr): fall back for private ref 404 (EveryInc#1418) Co-authored-by: Trevin Chow <trevin@trevinchow.com> * fix(ce-commit-push-pr): make medium and large PR descriptions scannable (EveryInc#1422) * chore: release main (EveryInc#1420) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix(ce-plan): make Goal Capsule Objective outcome-shaped with a Means slot (EveryInc#1424) * fix(manifest): drop Agent Plugins $schema so Codex stops truncating skills at 8KB (EveryInc#1426) * fix(manifest): also block Agent Plugins $schema while skill frontmatter is non-conformant (EveryInc#1427) * chore: release main (EveryInc#1425) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * docs(solutions): capture why the Agent Plugins $schema is a host routing switch (EveryInc#1428) * fix(skills): Make CE portable on no-checkout / shared-workspace hosts (EveryInc#1429) Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Trevin Chow <tmchow@users.noreply.github.com> * chore: release main (EveryInc#1430) * fix(orca): reconcile fork identity and guards with upstream 3.22.4 Re-pin the fork release identity to 3.22.4-orca.5 (release-as, version literals in the Orca suites), resolve the upstream-currency check against the latest compound-engineering-v* release tag instead of the upstream/main tip (main carries unreleased commits), regenerate the skill-local Orca role-registry bundles, re-anchor the lfg step-8 ordering test to upstream's rewritten Ship step, and compact the ce-simplify-code Orca hook to a conditional pointer so the skill fits Codex's 8000-byte prompt bound (mechanism stays in references/orca-review-dispatch.md, which already owns it). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019PxdaWqiHDDsPPBHdDevQC * ci(orca): fetch upstream release tags for the provenance currency check The check now resolves the latest compound-engineering-v* tag; without tags the CI fallback compared the pin to the upstream/main tip, which fails whenever upstream carries unreleased commits. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019PxdaWqiHDDsPPBHdDevQC * ci: pin bun to 1.3.14 bun 1.4.0 (picked up by bun-version: latest on 2026-08-21) hangs the subprocess-heavy suites on Linux runners: ce-pov and cross-model tests hit their 5s/20s caps and the profile-lock contention test times out, inflating the test job from ~2m to 13m. The same suites pass on 1.3.14 locally and in the last green run (2026-08-19). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019PxdaWqiHDDsPPBHdDevQC --------- Co-authored-by: Trevin Chow <trevin@trevinchow.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Ruslan Kurkebayev <kurkebayev.ruslan@gmail.com> Co-authored-by: cmbish <carter.m.bish@gmail.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Trevin Chow <tmchow@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Summary
Captures the learning behind #1412 / #1411 as a durable solution doc: the Agent Plugins
$schemaon rootplugin.jsonis a routing switch, not metadata — Codex >=0.147 and oh-my-pi >=17.3 both branch on its prefix into strict paths (8 KB skill truncation; closed-set frontmatter validation) that broke 26–30 of 33 skills. The doc records the mechanism in each host's own source, why no root manifest can satisfy Claude Code + both strict hosts, the fix (#1426, #1427), what didn't work, and how to verify a future host before adopting a spec field.docs/solutions/integrations/agent-plugins-schema-is-a-host-routing-switch.mdGrounding: claims verified against origin/main, Codex PR #37027's diff, and the unpacked omp 17.3.5 package; three citations corrected during validation (
legacyProviderAllowedlocation,ce-product-pulsealso has listallowed-tools,MAX_SKILL_PROMPT_BYTESlives incore-skills/src/lib.rs).Related: #1411, #1412, #1426, #1427,
docs/specs/agent-plugins.md.Security Disclosure
No security-relevant changes.
Agent Disclosure
Claude Code · claude-fable-5