Skip to content

release: merge develop into master for v0.23.0#32

Merged
dreamlx merged 12 commits into
masterfrom
develop
Mar 12, 2026
Merged

release: merge develop into master for v0.23.0#32
dreamlx merged 12 commits into
masterfrom
develop

Conversation

@dreamlx
Copy link
Copy Markdown
Owner

@dreamlx dreamlx commented Mar 12, 2026

Summary

  • Epic 25: AI-Enhanced Module Descriptions — Redefine --ai mode from full AI takeover to structural + AI micro-enhancement
    • extract_module_description() blockquote support (Strategy 0, highest priority)
    • enricher.py generates one-line functional descriptions per module (~200-400 tokens, 10-20x cheaper)
    • scan-all auto-detects ai_command → enables Phase 2 automatically; --no-ai to opt out
  • Issue fix: AI mode generates unwanted commit changelog in README_AI.md #30 fix: Post-commit hook redesigned as thin wrapper. No more custom AI prompts injecting git diff.
    • Shell wrapper (~30 lines) → codeindex hooks run post-commit (Python, upgradeable via pip)
  • Documentation: All hook and scan-all docs rewritten for AI CLI agent readers

Test plan

  • 1532 tests pass (15 new: 7 scan-all auto-AI + 8 post-commit hook)
  • Version consistency check passes (v0.23.0)
  • Pre-push hook lint + tests pass
  • Real project validation (Story 25.4) — tracked separately

Closes #30, Closes #31

🤖 Generated with Claude Code

DreamLinx and others added 12 commits March 12, 2026 14:56
…escription

Story 25.1: AI-generated blockquote descriptions (> description) are now
recognized as the highest-priority strategy for module descriptions.
This enables the upcoming AI-enhanced mode to inject semantic descriptions
that parent-level README_AI.md files will automatically pick up.

Refs #31

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ions

Story 25.2: New enricher module provides:
- extract_symbol_summary(): compact symbol+file name extraction for AI prompt
- build_enrich_prompt(): minimal prompt (~200-400 tokens) for one-line description
- inject_blockquote(): inject/replace description in README_AI.md header
- should_enrich(): only enrich overview/navigation levels, skip detailed/leaf

This replaces the old AI-takeover approach with targeted micro-enhancement.

Refs #31

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Updated by post-commit hook based on code changes.
Update level: full

Co-Authored-By: Claude <noreply@anthropic.com>
Story 25.3: Redefines --ai behavior for scan-all:
- Phase 1 (unchanged): SmartWriter generates structural README_AI.md
- Phase 2 (new): AI enrichment generates one-line functional descriptions
  for overview/navigation directories and injects as blockquote

The new --ai mode:
- Only enriches non-leaf directories (overview + navigation levels)
- Uses minimal prompts (~200-400 tokens vs 2-5KB previously)
- Validates ai_command is configured before starting
- Falls back gracefully if AI fails for individual directories
- Preserves all structural content from Phase 1

Refs #31

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Updated by post-commit hook based on code changes.
Update level: full

Co-Authored-By: Claude <noreply@anthropic.com>
- Use extract_summary_from_readme() instead of re-scanning directories
- Shorten symbol names (strip ClassName:: prefix) to reduce prompt size
- Add parent_name context to build_enrich_prompt()
- Add anti-hallucination instruction and bilingual examples
- Increase char limit from 20 to 30 for better descriptions
- Fix test assertion to match updated prompt wording

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Updated by post-commit hook based on code changes.
Update level: affected

Co-Authored-By: Claude <noreply@anthropic.com>
scan-all now auto-detects ai_command in config and enables Phase 2
AI enrichment by default. Use --no-ai to opt out.

Also refactors post-commit hook to thin wrapper pattern:
- Shell script only handles loop guard and venv activation
- All logic delegates to `codeindex hooks run post-commit` (Python)
- Removes custom AI prompt and git diff injection (fixes #30)
- pip upgrade automatically updates hook behavior

Refs #31

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Updated by post-commit hook.
Update level: full
- Rewrite post-commit hook section with thin wrapper architecture
- Add hook upgrade path: pip upgrade auto-updates Python logic
- Update SKILL.md with upgrade and troubleshooting guidance
- Update CLAUDE.md template best practices with hooks + auto-AI

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Epic 25 (AI-Enhanced Module Descriptions) complete:
- Story 25.1: blockquote description support
- Story 25.2: AI enrichment module + prompt design
- Story 25.3: scan-all auto-AI + --no-ai opt-out
- Issue #30: post-commit hook thin wrapper (no more changelog noise)

Closes #30, Closes #31

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Epic 25: AI-Enhanced Module Descriptions (v0.23.0)
- Blockquote description support in extract_module_description()
- AI enrichment module for one-line module descriptions
- scan-all auto-detects ai_command, enables Phase 2 automatically
- Post-commit hook thin wrapper (fixes #30)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@dreamlx dreamlx merged commit fab2047 into master Mar 12, 2026
16 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.

Epic 25: AI-Enhanced Module Descriptions (Redefine --ai mode) fix: AI mode generates unwanted commit changelog in README_AI.md

1 participant