Commit Graph
23 Commits
Author SHA1 Message Date
Lucas WintherandClaude Opus 5 7b07241367 docs: fix unnarrowable type predicate in plan Task 5 pipeline
mapWithConcurrency's callback return was inferred as a union of two object
literal types rather than one type with deep: TDeep | undefined, so the
'entry is Pair' predicate was rejected: a type predicate's type must be
assignable to its parameter's type. Added an explicit EnrichedCandidate
annotation on the call. Tests passed but tsc did not, so this was only
visible via typecheck.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-09-18 07:28:20 +02:00
Lucas WintherandClaude Opus 5 c4e303c8b7 docs: fix unreachable shared-prefix test cases in plan Task 2
The guard tests used 3-char query tokens whose field tokens were literal
continuations ('car'/'carpet'), so the startsWith rule returned 0.9 before
the shared-prefix rule was reached. With MIN_SHARED_PREFIX=4 the rule is
unreachable for any 3-char token, making the assertion impossible to
satisfy. Swapped in cases where neither token is a true prefix of the
other, which actually exercise the guard.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-09-17 10:26:54 +02:00
Lucas WintherandClaude Opus 5 582295c960 docs: correct scoring design defects found in preflight scan
Hand-computing the plan's own test expectations against its own formula
showed four assertions could not pass:

- Body-only matches maxed at 1.0*1/3 = 0.333, below minScore 0.35, so no
  low-weight field could ever return a result. The gate now uses the raw
  field score; the weighted score only orders.
- The phrase bonus was dead code whenever every token matched, since the
  base already saturated at 1.0. Base is now scaled by 0.85.
- Natural-language queries tanked the coverage multiplier; query tokens
  are now stopword-filtered.
- 'decide' vs 'decision' is 4 edits apart and unmatchable; scoreToken
  gains a shared-prefix rule.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-09-17 10:13:10 +02:00
Lucas WintherandClaude Opus 5 cbd8992b11 docs: add fuzzy search implementation plan and correct spec tool gap
Adds an 11-task TDD implementation plan covering the pure search unit
(tokenize, score, rank, snippet, pipeline), per-service integration for
meetings, wikis, work packages and activities, a recall acceptance
suite, and documentation.

Corrects two errors found while writing the plan:
- The spec's behaviour table named an openproject_search_work_packages
  tool that does not exist. searchWorkPackages is a service helper that
  only tests call, so ranked work package search would have been
  unreachable by any LLM. The plan now registers the tool (18 -> 19) and
  leaves openproject_list_work_packages as a pure server-side filter.
- Plan Task 6 originally identified matching agenda items by substring
  searching the meeting-level snippet, which cannot work because
  snippets are trimmed and ellipsized. Agenda items are now ranked
  directly.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-09-17 10:06:56 +02:00
Lucas Winther 324e7fce9c docs: add implementation plan for meetings, wikis, and activities tools 2026-09-07 02:11:03 +02:00
Lucas Winther c9ba15bca0 docs: update ARCHITECTURE.md, README.md, and plan with hosted remote server details 2026-09-07 01:11:07 +02:00
Lucas Winther 2fad0036e7 docs(plan): add implementation plan for hosted remote MCP server and multi-tenant credential scoping 2026-09-06 21:13:07 +02:00
Lucas Winther 1a32b8a179 docs(plan): add implementation plan for Docker packaging and GitHub Actions CI pipeline 2026-09-06 20:37:44 +02:00
Lucas Winther 815741b45b docs(plan): update progress ledger and mark Task 3 complete 2026-09-06 20:02:16 +02:00
Lucas Winther eaf6d67a30 docs(plan): update progress ledger and mark Task 2 complete 2026-09-06 19:58:20 +02:00
Lucas Winther 1039a6aa7a docs(plan): update progress ledger and mark Task 1 complete 2026-09-06 19:49:31 +02:00
Lucas Winther 635ac88f5e docs(plan): add OpenAPI tool implementation plan 2026-09-06 19:37:56 +02:00
Lucas Winther fd9697b2b7 docs(plan): update progress ledger and mark Task 4 plan steps complete 2026-09-06 19:23:18 +02:00
Lucas Winther 3d4a064593 refactor(server): add shutdown idempotency guard and test teardown blocks 2026-09-06 19:22:46 +02:00
Lucas Winther 8297f97228 docs(plan): update progress ledger and check off Task 3 2026-09-06 19:16:26 +02:00
Lucas Winther 4994b2c8db test(server): clean up read-only manifest filter assertions 2026-09-06 19:16:04 +02:00
Lucas Winther 08eff37db0 docs: add design spec and implementation plan for MCP server assembly 2026-09-06 18:40:47 +02:00
Lucas Winther 9bfedf8a8b docs: add OpenAPI support requirement to spec, architecture, and plan 2026-09-06 18:11:58 +02:00
Lucas Winther e3c956f900 docs: record completion of tasks 1-3 in MCP tools plan and TODO.md 2026-09-06 02:21:45 +02:00
Lucas Winther f8f9ae65a2 docs: add design spec and implementation plan for MCP tools 2026-09-06 00:45:30 +02:00
Lucas Winther ca22a0e109 docs: check off tasks 4-6 in domain services implementation plan 2026-09-06 00:22:20 +02:00
Lucas Winther cbf676007f docs: track completion of tasks 1-3 in domain services plan and TODO.md 2026-09-05 18:22:12 +02:00
Lucas Winther 25677e867d docs(plans): add domain services layer implementation plan 2026-09-05 17:41:52 +02:00