Skip to content

chore: sync harness/ with the kit — the advisory nudge hook - #25

Merged
MCKRUZ merged 1 commit into
masterfrom
chore/sync-kit-nudge-hook
Jul 31, 2026
Merged

chore: sync harness/ with the kit — the advisory nudge hook#25
MCKRUZ merged 1 commit into
masterfrom
chore/sync-kit-nudge-hook

Conversation

@MCKRUZ

@MCKRUZ MCKRUZ commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Regenerates the bundled harness/ payload from delivery-standard/kit after intent-driven-development#34, which documented the nudge-hook pattern and shipped sensitive-edit-nudge.{ps1,sh} as its worked example.

Without this, the plugin installs a hooks README describing a file the adopter doesn't have.

What the sync produced

scripts/sync_kit.py ran clean — 123 files, --check now reports in sync. Four paths changed: the two READMEs and the two new hook twins.

Two things the sync did not handle

Neither is caught by sync_kit.py, and both needed a hand:

  • The executable bit was lost. shutil.copytree doesn't carry the git exec bit on Windows, so the new .sh landed 100644 while its three siblings are 100755. Installed non-executable it dies with Permission denied — the exact failure install_harness.py:158 warns about. Fixed with update-index --chmod=+x. Every future .sh added to the kit will hit this, so it belongs in sync_kit.py rather than in someone's memory. Filing separately.
  • The golden snapshot caught the new files, as designed. Regenerated with GOLDEN_REGEN=1; the diff is exactly the two expected paths and nothing else.

Test plan

  • python scripts/sync_kit.py --check — in sync, 123 files
  • pytest scripts/tests — 531 passed, 6 skipped
  • harness/hooks/sensitive-edit-nudge.sh committed 100755, matching the other three twins
  • Golden-tree diff reviewed line by line — two paths added, no incidental churn

Approval

Self-approved under the solo-maintainer carve-out in the standard's docs/team.md: internal repo, no second maintainer, suite green, named here rather than taken silently.

🤖 Generated with Claude Code

https://claude.ai/code/session_014aesqvsMqJpzEdpDXDTjvF

Regenerates the bundled payload from delivery-standard/kit after
MCKRUZ/intent-driven-development#34, which added the nudge-hook pattern to the kit's
hooks README and shipped sensitive-edit-nudge.{ps1,sh} as its worked example. Without
this the plugin installs a README describing a hook the adopter does not have.

`sync_kit.py` ran clean (123 files, --check reports in sync), but two things needed a
hand afterward and neither is caught by the sync itself:

- shutil.copytree does not carry the git executable bit on Windows, so the new .sh
  landed 100644 while its three siblings are 100755. Installed non-executable it dies
  with 'Permission denied' — the exact failure install_harness.py warns about. Set with
  update-index --chmod=+x. Every future .sh added to the kit will need the same, which
  is worth fixing in sync_kit.py rather than remembering.
- The golden installed-tree snapshot caught the two new files, as designed. Regenerated
  via GOLDEN_REGEN=1; the diff is exactly the two expected paths and nothing else.

531 passed, 6 skipped.

Self-approved under the solo-maintainer carve-out: internal repo, no second maintainer,
suite green, and named here rather than taken silently.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014aesqvsMqJpzEdpDXDTjvF
@MCKRUZ
MCKRUZ merged commit f16c176 into master Jul 31, 2026
3 checks passed
@MCKRUZ
MCKRUZ deleted the chore/sync-kit-nudge-hook branch July 31, 2026 18:45
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