Repository navigation
fix(grok): fix forward #284's Grok findings (#285) - #286
Conversation
Merge Protections🟢 All 2 merge protections satisfied — ready to merge. Show 2 satisfied protections🟢 Queue ready pull requestsAutomatically queue non-draft pull requests targeting main after verify and live-gate pass on the head and every review thread is resolved.
🟢 🚦 Auto-queueWhen all merge protections are satisfied and these conditions match, this pull request will be queued automatically.
|
Live evidence: Open Pstack
|
✅ Merged into
|
🛑 1 blocking finding🔴 High · New Grok home resolver is omitted from feature selection WalkthroughThis follow-up to
Since the last review
Repair promptRead the Details
First review of this pull request. @unfret review · @unfret status · @unfret help |
There was a problem hiding this comment.
🛑 1 blocking finding
🔴 High · New Grok home resolver is omitted from feature selection
Check
Replace the exact-path GROK_REACH list with permission granted in each runtime ownership branch of classify(). Assets, version-only manifests and non-runtime paths stay narrow; unmapped paths still fail. Decided in the step-back exchange after two verdicts found paths missing from the list (ericlitman#284, ericlitman#286). Closes ericlitman#287 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
This is the fix-forward PR for the merged head of #284 (0d0c5d5). It fixes the four Unfret findings that babysit-pr classed
verdict-changing.Introduced by: #284. Closes #285.
Evidence
classify()gave no Grok feature forrunner/types.ts,model-catalog.md,poteto-mode/SKILL.mdorgrok-agents/*, andcore.test.tsasserted that. WithGROK_HOME="",snapshotSetup()resolved the Grok sheet under the current directory.After:
core.test.tsasserts that each of those paths reachesgrok:dispatch. The newisolation.test.tscase "an empty GROK_HOME snapshots the default Grok sheet, as setup resolves it" restores$HOME/.grok/rules/pstack-models.mdbyte for byte. Verifier suite: 219 pass, 0 fail.reflect/SKILL.md:44) names the destination for "this harness". The table now has a Grok row, using Grok's own skill folders (Grok user guide, 08-skills).Merge Danger
Door: two-way
Blast Radius: verifier-only
grok:dispatch. It never adds a Grok session to a run.GROK_HOMEchange matters only whenGROK_HOMEis set and empty.Acceptance criteria (#285)
codex-tools.md"Reflect skill copies" has the Grok row. Documentation only.GROK_REACH['grok:dispatch']lists all seven paths. Thecore.test.tsreach test asserts each one.GROK_HOMEresolves to the default inisolation.ts,harness.tsandgrok.ts, throughgrokHome(). The newisolation.test.tscase covers it.Gate results (head e4537f0)
bun run testbun run typecheckbun run staticclaude plugin validate plugins/pstackgrok plugin validate plugins/pstackNot verified
live-gatecomes fromgrok:setupwith--self-test, run from this candidate head because the PR changes the verifier.grok:setuprunsgrokHome()in the snapshot, the case config home and the Grok session records.🤖 Generated with Claude Code