fix(agents): make integration checks explicit and recovery scoped - #81
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: db157c5370
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 33c33c14b5
ℹ️ 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".
## [4.0.3](v4.0.2...v4.0.3) (2026-09-08) ### Bug Fixes * **agents:** make integration checks explicit and recovery scoped ([#81](#81)) ([2230a9c](2230a9c))
## Behavior Add optional native Hack plugins for Codex, Claude Code, and Cursor. Each bundles the canonical Hack skills and MCP server, with Claude primer hooks and a relevance-selected Cursor rule. Existing standalone setup remains supported. Installation and updates never implicitly migrate or remove rules, skills, hooks, or MCP entries; scoped duplicate cleanup follows fresh-session verification and preserves customized content. Bring the branch up to current local-first Hack and align contributor and consumer instructions. Claude imports one contributor baseline. Remove duplicated generic skill packs, retired hosted guidance, and repository-wide format-on-every-edit hooks. Scope retained native-app guidance to its unsupported source directory. Keep native approvals, secret handling, runtime ownership, protected branches, and publishing gates; remove redundant confirmation and optional-warning completion gates. Onboarding supports partial adoption and successful one-shot services without requiring broad env migration or weakened TLS/origin checks. Release preparation regenerates the complete plugin bundle after the version bump. Regression coverage verifies manifest versions, canonical content, installed adapters, and generation during an actual release-preparation fixture. `docs/agent-guidance.md` maps ownership and regeneration paths. Model selection, global instructions, evolution, and writeback policy remain with the user's configuration. ## Validation - Local typecheck, quality/privacy checks, and compiled build pass. - Bun 1.3.9 full CLI suite: 901 passed, 5 skipped, 0 failed (906 tests across 159 files). Compiled agent-docs E2E: passed. Plugin validation and changed-file lint: passed. - Codex: isolated marketplace install/enable, then fresh app-server discovery of both plugin skills and MCP tools. - Claude Code: strict manifest validation, isolated install/enable, then fresh-session discovery of both skills, successful primer hook, and connected plugin MCP. The isolated profile was unauthenticated, so this proves initialization rather than an authenticated model response. - Cursor 3.18.25: local plugin copy loaded in Customize with two skills, one rule, and one MCP server exposing ten tools. External symlinks were rejected by the runtime; docs use the accepted local-copy path. The temporary copy was removed after validation. Public marketplace installation has not been proven on this branch. - Exact-commit CI at `a54249e5b2509553155972cc36ae269dd8ec54a5`: [run 34186117823](https://github.com/hack-dance/hack/actions/runs/34186117823) passed tests, secret scanning, runtime-image builds/smokes, and Docker E2E. Both previous review threads are resolved. ## Release and boundaries Use `feat(agents)` for the squash title: this adds an optional capability and should trigger a feature release. No runtime env/lifecycle semantics or default integration migration are introduced. Unsupported remote and macOS source remains available for explicit maintenance and is not added to default onboarding or CLI release gates. The final branch includes merged PR #81 and the 4.0.3 release commit. All bundled manifests and generated version stamps were refreshed, with 18 focused generation/contract tests passing before the final full CI run. --------- Co-authored-by: Dimitri Kennedy <dimitrikennedy@gmail.com>
Hack's startup guidance and recovery hints requested broad integration repairs even though ordinary commands no longer perform them. Plain
hack agent primenow renders without an inventory scan. Explicit--checkinventories project/global integrations inside a project and global integrations elsewhere. Missing optional integrations do not require installation, and findings do not block unrelated work.Doctor keeps read-only inventory commands under follow-up investigation, with distinct instructions to repair only the reported, authorized targets. The canonical generator, checked-in Codex/Cursor integrations, agent docs, examples, and CLI reference carry scoped maintenance guidance. Regression coverage checks generated freshness/maintenance bullets and the outside-project inventory path.
Validation: focused instruction/doctor tests, CLI lint/typecheck, compiled binary build, and isolated compiled-binary agent-docs-sync E2E passed. Required exact-head CI is the full repository gate.
Release decision: patch release (
fix); changes user-facing primer and recovery behavior. Conventional Commit is the release artifact for this repository's semantic-release pipeline. Native authorization and publication gates remain intact.