Skip to content

Memoize Skill Capability Classification by Semantic Input#4374

Merged
Trecek merged 10 commits into
developfrom
impl-memoize-skill-capability-classification-20260726-134618
Jul 27, 2026
Merged

Memoize Skill Capability Classification by Semantic Input#4374
Trecek merged 10 commits into
developfrom
impl-memoize-skill-capability-classification-20260726-134618

Conversation

@Trecek

@Trecek Trecek commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

Introduce a process-local, thread-safe, weighted LRU around capability-evidence classification in src/autoskillit/workspace/skill_capabilities.py. The cache normalizes the effective logical skill name before lookup and uses the exact (canonical_content, effective_logical_name) pair as its semantic key, preserving classification behavior while reusing immutable evidence tuples for repeated inputs.

Requirements

  • Cache exact semantic inputs while ensuring content or effective-name changes classify independently.
  • Bound retained state by entry count, aggregate accounted bytes, and a per-input admission ceiling.
  • Keep full-document scans outside the cache lock and coordinate concurrent cold callers with generation-scoped single-flight state.
  • Preserve existing evidence fields, ordering, source spans, authenticity and capability decisions, projection behavior, and resume authority.
  • Keep the implementation dependency-free within the IL-1 workspace layer.

Verification

  • task test-check — PASS (15057 passed, 1491 skipped, 27 xfailed)
  • Exact regression manifest — PASS (293 passed)
  • Cache-focused tests — PASS (26 passed)
  • pre-commit run --all-files — all hooks passed
  • Representative benchmark — 2,708 classifier calls reduced to 141 underlying scans across 141 unique semantic keys, with an unchanged findings fingerprint
  • General paired benchmark — unchanged 23,753 JUnit test cases; median elapsed time reduced from 306.70s to 199.52s

Implementation Plan

Plan file: .autoskillit/temp/make-plan/memoize_skill_capability_classification_plan_2026-07-25_125953.md

🤖 Generated with Claude Code via AutoSkillit

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit PR Review — Verdict: approved_with_comments

Comment thread src/autoskillit/workspace/skill_capabilities.py Outdated
Comment thread tests/recipe/test_rules_cmd.py Outdated
Comment thread tests/workspace/test_skill_capabilities_cache.py
Comment thread tests/workspace/test_skill_capabilities_cache.py Outdated

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit review: warning-only findings detected. See inline comments — no blocking changes required.

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit PR Review — Verdict: approved_with_comments

Comment thread src/autoskillit/workspace/skill_capabilities.py
Comment thread tests/workspace/test_skill_capabilities_cache.py
Comment thread tests/workspace/test_skill_capabilities_cache.py
Comment thread tests/workspace/test_skill_capabilities_cache.py
Comment thread tests/workspace/test_skill_capabilities_cache.py

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit review: warning-only findings detected. See inline comments — no blocking changes required.

@Trecek
Trecek added this pull request to the merge queue Jul 27, 2026
Merged via the queue into develop with commit ccf3a59 Jul 27, 2026
3 checks passed
@Trecek
Trecek deleted the impl-memoize-skill-capability-classification-20260726-134618 branch July 27, 2026 01:59
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