Skip to content

feat: add Longest Common Subsequence (LCS) solver (Phase 5) - #12

Merged
sjamal merged 1 commit into
mainfrom
feature/phase-5-lcs
Aug 23, 2026
Merged

feat: add Longest Common Subsequence (LCS) solver (Phase 5)#12
sjamal merged 1 commit into
mainfrom
feature/phase-5-lcs

Conversation

@sjamal

@sjamal sjamal commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Adds a bottom-up tabulation LCS solver with diagonal backtracking to reconstruct the matched subsequence, exposed through the existing MCP/HTTP service layer as well as src/, with full test coverage and ADR 0017. This completes Phase 5.

- Add src/dynamic_programming/lcs.py implementing bottom-up
  tabulation with diagonal backtracking to reconstruct the matched
  subsequence, following the same pattern as the Knapsack solver.
- Add LCS tests to tests/test_dynamic_programming.py covering typical
  matches, identical strings, disjoint character sets, and empty
  string inputs, with full coverage.
- Expose LCS via the service layer: dp_longest_common_subsequence
  wrapper in service/tools.py, MCP tool, and
  POST /dynamic-programming/lcs endpoint, each with tests.
- Add ADR 0017 documenting the tabulation/diagonal-backtracking design.
- Update README and ROADMAP; this completes Phase 5.
@sjamal
sjamal merged commit 1872b43 into main Aug 23, 2026
1 check passed
@sjamal
sjamal deleted the feature/phase-5-lcs branch August 23, 2026 01:29
sjamal added a commit that referenced this pull request Aug 23, 2026
- Add src/dynamic_programming/lcs.py implementing bottom-up
  tabulation with diagonal backtracking to reconstruct the matched
  subsequence, following the same pattern as the Knapsack solver.
- Add LCS tests to tests/test_dynamic_programming.py covering typical
  matches, identical strings, disjoint character sets, and empty
  string inputs, with full coverage.
- Expose LCS via the service layer: dp_longest_common_subsequence
  wrapper in service/tools.py, MCP tool, and
  POST /dynamic-programming/lcs endpoint, each with tests.
- Add ADR 0017 documenting the tabulation/diagonal-backtracking design.
- Update README and ROADMAP; this completes Phase 5.
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