Skip to content

feat: a debug skill, a deslop pass, and the same flow on five harnesses - #37

Merged
Lutherwaves merged 2 commits into
feat/chainfrom
feat/parity
Nov 12, 2026
Merged

Lutherwaves merged 2 commits into
feat/chainfrom
feat/parity

Conversation

@Lutherwaves

@Lutherwaves Lutherwaves commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

Stacked on #36. A fix at the cause, a change with nothing in it that the task did not need, and the same flow on five harnesses.

What a person can now do

  • Fix a bug at its cause. The new debug skill reproduces the failure, states the root cause in one sentence, pins it with a failing test and fixes the cause. It changes one thing at a time and stops after three fixes that did not hold. build loads it when a test fails.
  • Get a change without slop. Before the last test run, build removes what its own change did not need: a comment that restates the code, a guard for a case that cannot happen, a helper with one caller, an option nobody asked for, filler in prose. review lists the same things under a new "Slop" heading. Slop is not a finding and does not touch the gate.
  • Use builder on Grok Build. grok is a harness with its own action map and install steps.
  • Get the right instructions on Codex. The session start printed the Claude Code action map there. The hook now tells Grok Build, Claude Code and Codex apart by the variable that each one sets for a plugin hook.
  • Follow a handoff on every harness. A stage hands over with builder:<name>. On Cursor CLI, Grok Build and opencode a skill has its plain name, so the session start now says what builder:<name> means there.
  • Run the security score without the hook. The skill says where the helper binary is when no session-start hook ran, and to stop when it is not there.
  • Get an architecture review in the plan. For work on an API, a service boundary, a data store or an agent tool, plan runs an architecture lens (skills/plan/architecture.md) and review checks the change against the same questions. The project's own rules win over it. Tenet 9 now says what a good guard does.

Proven

  • go test ./..., bash scripts/validate.sh and bash tests/test_validate.sh pass.
  • With PLUGIN_ROOT set the hook prints the Codex map, with GROK_PLUGIN_ROOT the Grok Build map, with neither the Claude Code map.
  • Two of the new tests fail when I remove the rule they guard (the Slop heading, the builder:<name> line of a map).
  • The sample test of the debug fixture fails before any fix.

Not proven

  • No session ran on Codex, Cursor CLI, Grok Build or opencode. The two variables come from the Codex and xAI documents.
  • Six of seven actions on Grok Build are marked "not verified". Grok Build has no eval runner and no row in the support table.
  • No eval ran: the owner ruled out paid evals. The debug fixture is written and not graded.

The design record is docs/specs/2026-11-12-parity-design.md. Four of its rulings are proposed, not confirmed.

🤖 Generated with Claude Code

Lutherwaves and others added 2 commits November 12, 2026 23:18
A failure with no known cause goes to the new debug skill: reproduce,
root cause in one sentence, a failing test, a fix at the cause, and a
stop after three fixes that did not hold. build loads it when a test
fails.

build removes what its own change did not need before the last test
run, by the list in skills/build/deslop.md. review lists the same things
under a new Slop heading, which does not touch the gate.

Grok Build is a harness. The session-start hook tells Grok Build, Claude
Code and Codex apart by the variable that each one sets for a plugin
hook, so Codex no longer gets the Claude Code action map. The Cursor,
Grok Build and opencode maps say what builder:<name> means there.

A skill that runs the helper binary says where it is when no hook ran.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
…ta store or an agent tool

plan runs the lens after the engineering lens, and review checks a
change against the same file. It asks where the contract is written,
whether every list has one shape, who owns each fact, where the customer
boundary is enforced, what each agent tool can do, and which guard keeps
each rule. The project's own rules win over it, and three questions have
no default: the person answers them.

Tenet 9 now says what a good guard does: it names the incident that made
it, says what to do instead, and fails when it checks nothing.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@Lutherwaves
Lutherwaves merged commit 10c913a into feat/chain Nov 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant