Skip to content

Infrastructure improvements: DeepWiki, Traits, and documentation enhancements#438

Merged
ocots merged 19 commits into
mainfrom
develop
Jun 11, 2026
Merged

Infrastructure improvements: DeepWiki, Traits, and documentation enhancements#438
ocots merged 19 commits into
mainfrom
develop

Conversation

@ocots

@ocots ocots commented Jun 8, 2026

Copy link
Copy Markdown
Member

Overview

This PR introduces the first step of a larger refactoring plan for CTBase.jl. The current change adds a DeepWiki badge to the documentation landing page with an appropriate disclaimer about AI-generated content.

Development Strategy

This PR establishes a develop branch that will serve as the integration point for multiple feature branches. Each feature will be developed in its own branch and merged into develop, following this workflow:

main
  ↑
develop (integration branch)
  ↑
feature/deepwiki ✓ (this PR)
feature/traits
feature/abstract-types
feature/exceptions-presentation ✓
feature/private-public-naming ✓
feature/jldoctest
feature/vitepress

Planned Features

The following features will be developed in separate branches and merged into develop:

  1. DeepWiki integration ✓ (this PR)

    • Add DeepWiki badge to documentation
    • Provide AI-assisted code exploration with appropriate disclaimers
  2. Traits module

    • Extract Traits module from CTFlows
    • Update philosophy documentation to explicitly state that traits should be in a separate module
    • This enables future consolidation of traits across the ecosystem in CTBase
  3. Abstract types module

    • Create dedicated module for abstract types
    • Update philosophy documentation to mirror the Traits pattern (separate module for abstract types)
  4. Private/public method naming and distribution

    • Review and standardize naming conventions for private vs public methods
    • Ensure proper distribution across submodules
  5. Exception presentation

  6. JLDocTest integration

    • Implement jldoctest functionality
    • Add label-based triggering mechanism for doctests
  7. VitePress documentation

    • Add VitePress as an alternative documentation system
    • Complement existing Documenter.jl setup

Current Changes

  • Added DeepWiki tip admonition to docs/src/index.md
  • Simplified badge link for cleaner presentation

Testing

Documentation builds successfully with julia --project=. docs/make.jl.

ocots added 3 commits June 8, 2026 18:22
- Add naming conventions to modules.md: symbol (public), _symbol (private helper), __symbol (default value)
- Rename private functions in Descriptions: compute_similarity → _compute_similarity, find_similar_descriptions → _find_similar_descriptions, format_description_candidates → _format_description_candidates
- Rename private functions in Exceptions: extract_user_frames → _extract_user_frames, format_user_friendly_error → _format_user_friendly_error, ansi_color → _ansi_color, ansi_reset → _ansi_reset, print_ansi_styled → _print_ansi_styled
- Update planning.md with improved checkpoint templates (MCP preferred, fallback commands)
- Fix extension tests to use fake types per testing-creation.md §6 (prevents flaky tests when extensions are loaded elsewhere)
ocots and others added 8 commits June 8, 2026 19:06
…ethods

- Add naming conventions to modules.md: symbol (public), _symbol (private helper), __symbol (default value)
- Rename private functions in Descriptions: compute_similarity → _compute_similarity, find_similar_descriptions → _find_similar_descriptions, format_description_candidates → _format_description_candidates
- Rename private functions in Exceptions: extract_user_frames → _extract_user_frames, format_user_friendly_error → _format_user_friendly_error, ansi_color → _ansi_color, ansi_reset → _ansi_reset, print_ansi_styled → _print_ansi_styled
- Update planning.md with improved checkpoint templates (MCP preferred, fallback commands)
- Fix extension tests to use fake types per testing-creation.md §6 (prevents flaky tests when extensions are loaded elsewhere)
… philosophy

- Move extensions from ext/*.jl to ext/ExtensionName/ subdirectories with proper entry_point.jl pattern
- Move extension implementations to src/Extensions/ submodules (coverage_postprocessing.jl, documenter_reference.jl, test_runner.jl)
- Split Unicode module into subscripts.jl and superscripts.jl submodules
- Update all imports to use qualified paths (CTBase.Extensions.run_tests, Unicode.ctindices, etc.)
- Update documentation to reflect new qualified import paths
- Restructure test files to follow new module organization
- Remove redundant test files (test_utils.jl, test_display.jl) and consolidate into enriched test files
- Move extensions from ext/*.jl to ext/ExtensionName/ subdirectories with proper entry_point.jl pattern
- Move extension implementations to src/Extensions/ submodules (coverage_postprocessing.jl, documenter_reference.jl, test_runner.jl)
- Split Unicode module into subscripts.jl and superscripts.jl submodules
- Update all imports to use qualified paths (CTBase.Extensions.run_tests, Unicode.ctindices, etc.)
- Update documentation to reflect new qualified import paths
- Restructure test files to follow new module organization
- Remove redundant test files (test_utils.jl, test_display.jl) and consolidate into enriched test files
- docs/api_reference.jl: Add all missing source files to each module's documentation (Core, Unicode, Extensions, and all extensions)
- docs/src/guide/test-runner.md: Remove invalid @ref to TestRunner.TestRunInfo (not accessible in documentation context)
- ext/TestRunner/entry_point.jl: Remove invalid @ref to TestRunner.TestRunInfo from docstring
- src/Core: Rename utils.jl to default.jl for clarity
Split large monolithic test files into smaller, focused test files:
- Core: test_core.jl → test_core_types.jl, test_utils.jl
- Exceptions: test_types.jl → test_exception_types.jl, test_extension_error.jl
- Extensions: test_extensions_enriched.jl → test_extension_stubs.jl
- Extensions: test_coverage_edge_cases.jl → test_coverage_helpers.jl
- Extensions: test_documenter_reference.jl → 7 focused files (api, config_helpers, page_building, pipeline, symbol_helpers, type_formatting, types)
- Extensions: test_testrunner.jl → 6 focused files (arg_parsing, execution, progress, selection, types)
- Unicode: test_unicode_enriched.jl, test_unicode_utils.jl → test_subscripts.jl, test_superscripts.jl

Enhanced exception display tests with new branches for IncorrectArgument and AmbiguousDescription.
Added Descriptions import to test_display_description.jl.
@ocots

ocots commented Jun 9, 2026

Copy link
Copy Markdown
Member Author

Status Update

Progress on the planned features:

  1. DeepWiki integration ✓ (completed in this PR)
  2. Traits module - pending
  3. Abstract types module - pending
  4. Private/public method naming and distribution ✓ (completed in Refactor test suite for orthogonality #441, merged into develop)
  5. Exception presentation ✓ (completed in Refactor test suite for orthogonality #441, merged into develop)
  6. JLDocTest integration - pending
  7. VitePress documentation - pending

The develop branch now includes the DeepWiki integration plus the private/public method naming and exception presentation improvements from #441.

ocots added 2 commits June 9, 2026 12:20
…gative vs multi-digit values

- Split error condition in ctindice(): i < 0 now shows "must be positive" (expected: ≥ 0), i > 9 shows "must be a single digit" with suggestion to use ctindices()
- Split error condition in ctupperscript(): same pattern with ctupperscripts() suggestion
- Updated tests to verify new error messages
- All 90 tests in test/suite/unicode/ pass
ocots added 4 commits June 9, 2026 12:21
- Refactored display.jl to use modular rendering functions
- Added structured exception context display with sections
- Improved error message formatting with clear hierarchy
- Updated tests to cover new display behavior
- Updated documentation in exceptions.md and index.md
…edesign

Redesign exception display with improved formatting and structure
…eview

Review and improve exception presentation
@ocots

ocots commented Jun 11, 2026

Copy link
Copy Markdown
Member Author

Scope update: Parts 2, 6, and 7 from the planned features are postponed to a later date. Part 3 (Abstract types module) is cancelled. The current focus remains on the completed items (1, 4, and 5) and the DeepWiki integration.

@ocots
ocots merged commit 01aff2b into main Jun 11, 2026
4 checks passed
@ocots
ocots deleted the develop branch June 11, 2026 20:16
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