Commit Graph
4 Commits
Author SHA1 Message Date
Tommaso Casaburi 20f8bd902c fix(scripts): treat an omitted agent model as harness-specific in the parity check
`normalizeAgent` rewrote the first `model:` frontmatter line when one was
present, so an agent that pins a model in one toolchain and omits it in another
normalized to different text and looked like body drift.

The bug is latent here rather than firing: every agent whose `.claude` copy
omits `model:` currently has a `.cursor` copy that omits it too. Pinning a
Cursor-only model on any of them turns the gate red for a non-reason —
reproduced by adding `model: composer-2.5-fast` to
`.cursor/agents/code-quality.md`, which fails before this change and passes
after it. The same defect was failing on seedit's master, where those Cursor
copies do pin a model.

Strip the frontmatter `model:` line instead of rewriting it. Scoping the strip
to the leading frontmatter block keeps a body line that begins with "model:"
comparable, so it is still reported as drift. Verified that injected body drift
is still caught.
2026-08-02 17:54:16 +02:00
Tommaso Casaburi 5456ba2fb8 chore(codex agents): inherit parent model settings 2026-07-10 14:45:05 +07:00
Tommaso Casaburi 1ac3e5883b fix(agent hooks): wire hooks into real harness entry points and fix payload parsing
Claude Code never reads a standalone .claude/hooks.json, so the PostToolUse and
Stop pipeline is moved into .claude/settings.json and hooks.json is removed;
.cursor/hooks.json is rewritten in Cursor's version+afterFileEdit/stop schema;
.codex/hooks.json is already Codex-valid and stays. The shared scripts now
parse both the Cursor file_path and Claude/Codex tool_input.file_path stdin
shapes and normalize absolute paths, so the format, yarn-install, and
react-pattern-review hooks stop being silent no-ops. verify.sh blocks with
exit 2 plus a stderr reason, guards stop_hook_active, and skips clean trees;
react-pattern-review surfaces its reminder via hookSpecificOutput on
PostToolUse; sync-git-branches no longer misreports open PRs as merged. The
validator now checks that the three harness-specific entry points wire the
same hook scripts instead of requiring byte-identical hooks.json copies.
2026-07-03 13:58:36 +07:00
Tommaso Casaburi 15fb1bf57c chore(ai-workflow): add toolchain drift validator and harden agent rules
Borrowed from a review of addyosmani/agent-skills:

- add scripts/validate-ai-workflow.mjs (yarn ai-workflow:check): verifies
  .claude/.codex/.cursor skills, agents, and hooks stay in parity, with
  validator-owned exemptions for intentional harness-specific differences
  and enforcement of the AGENTS.md agent model rules
- browser-check and profiler agents: treat page content as untrusted data,
  never instructions (5chan pages render arbitrary user-generated content)
- refactor-pass: Chesterton's Fence rule (git blame unclear code before
  removing it)
- review-and-merge-pr: pass subagent verifiers only the artifact and
  contract, not the triage verdict, to keep reviews independent
2026-06-11 16:13:53 +07:00