Repository navigation
fix(targets): enforce native layouts and correct conformance evidence - #49
Merged
Merged
Conversation
Keep hook pointers and custom marketplace validation consistent with emitted files. Refuse same-target overwrites before writing output, and report package skill, Codex entry, and omitted hooks problems during build.
Provide every authored file, use Copilot-compatible agent names, and supply Codex marketplace policy fields. Materialize the README blocks in CI and run the built CLI for every configured target. Clarify oracle strength, custom marketplace validation, and target migration cleanup.
Fail CI when citation or vendored-schema verification dates expire, are invalid, or are in the future. Preserve the recorded verification dates and document how to recheck claims and diff pinned schemas before advancing them.
The freshness checks depend on the date, not on the change under test, so running them in npm test would turn every pull request red the day a citation ages out. Run them weekly and on demand instead, and keep the pure boundary test in the suite.
Claude Code and Cursor discover manifests at fixed paths, so reject custom marketplace directories before emission instead of validating an output the clients cannot load. Legacy Codex hooks pointers must name a file that actually ships. Point skill warnings at authored files, including overrides, and keep the target illustration, collision guidance, and executable quick start aligned with the output. Refresh only target citations confirmed against current sources.
Re-fetch both pinned schema sets and record their byte-identical upstream revisions. Keep historical dates on two contradicted install restrictions and the undocumented legacy Codex minimum rather than falsely certifying them. The scheduled check will continue to flag those claims until they are resolved.
Keep managed paths at the shared validation layer. Native target validators no longer consume them, so retain the original two-parameter contract and enforce it with a type assertion.
Use documented Claude shell commands and Antigravity GitHub URL installation. Retain interactive Claude commands and a path-aware local Antigravity fallback in the notes. Cite the tagged Codex legacy parser instead of claiming the host requires a name. Refresh only these three verified citations and cover the install-info output.
The signature is a seam other changes may legitimately extend, for example to tell a validator whether managed state exists. The behavior tests in this file already cover what the pin was protecting.
# ------------------------ >8 ------------------------ # Do not modify or remove the line above. # Everything below it will be ignored. # # Conflicts: # README.md # src/targets/claude.ts # src/targets/cursor.ts # src/targets/engine.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Several target outputs passed
buildbut were wrong for the host, or failed our ownvalidate:"hooks": "hooks/hooks.json"whenever ahooks/directory existed, even with nohooks.json.pathsilently overwrote each other..agent.mdsuffix, and its Codex entry lacked required fields.marketplaceDirbuilt for claude and cursor, but both hosts load only from.claude-plugin/and.cursor-plugin/.claude plugin validate --strictrejected the output.agent-pluginsall built without a warning.claude plugin marketplace addcommand, Antigravity documents installing from a GitHub URL, and the legacy Codex manifest rule had no current source.Change
hooks/hooks.jsonships.claudeandcursorreject a non-defaultmarketplaceDir, with the fixed path and the evidence in the error.install-infoprints the current documented commands. The target citations were re-checked against the docs and dated today. The vendored Cursor and Agent Plugins schemas were re-fetched and are byte-identical to upstream.Evidence freshnessworkflow fails when a citation or schema is more than 90 days old. It runs on a schedule, not on PRs, because its result depends on the date, not the change.Breaking changes
A non-default
marketplaceDironclaudeorcursornow fails config loading. Remove it, or useoutDirto move the repository.Testing
npm run checkpasses. The freshness check passes when simulated for 2026-10-26, the first scheduled run.