Skip to content

feat(ai, telemetry): dynamic slot leasing, telemetry deduplication, and context-aware file review (#283) - #284

Merged
dan-petty merged 1 commit into
release/v0.2.21from
fix/283-dynamic-slot-leasing-context-aware-review
Sep 19, 2026
Merged

dan-petty merged 1 commit into
release/v0.2.21from
fix/283-dynamic-slot-leasing-context-aware-review

Conversation

@dan-petty

Copy link
Copy Markdown
Owner

Resolves #283

Summary of Changes

  • Dynamic Slot Leasing & Least-Loaded Load Balancing:
    • Implemented acquire_ollama_slot in src/devops_cli/ai/client/network.py using condition variables to dynamically lease the least-loaded candidate node across multi-server Ollama clusters.
    • Updated src/devops_cli/ai/client/ollama.py to eliminate Head-of-Line blocking when running multi-persona reviews across heterogeneous server latencies.
  • Context-Aware File Classification & Specialized Review Prompts:
    • Implemented classify_file_context in src/devops_cli/ai/review/classification.py using multi-layered detection (shebangs, standard MIME types, structural language parsers for Python AST, JSON, YAML, and TOML, and canonical filename/extension mappings).
    • Authored specialized review task prompts (docs_review_prompt.md and config_review_prompt.md) and mapped targeted persona subsets (pm/auditor for docs, devsecops/architect for configs).
  • Review Pre-Analysis Acceleration:
    • Eliminated redundant upfront LLM chat calls in _execute_pre_analysis_batch, running static AST outline extraction with ai_client=None to launch reviews instantly.
  • OpenTelemetry Attribution & Tag Deduplication:
    • Updated OTelTyper.add_typer to register proxy commands with super().command(...), attributing code.function and code.namespace to target commands.
    • Added _normalize_and_deduplicate_attributes to eliminate duplicate tag pairs (cli.function, cli.error).
  • Comprehensive Verification:
    • Passed 100% of Gated CI quality gates (uv run devops ci), maintaining >= 90.0% coverage and zero warnings.

…nd context-aware file review (#283)

- Implement dynamic least-loaded slot leasing across candidate Ollama servers using condition variables to prevent Head-of-Line blocking.
- Add multi-layered file classification (shebangs, MIME types, AST/JSON/YAML/TOML parsing, canonical filenames/extensions) to route documentation, configuration, and code files to specialized review task prompts and persona subsets.
- Optimize review pre-analysis batching to run static AST extraction without redundant LLM chat calls.
- Fix OTelTyper lazy proxy registration to attribute code.namespace and code.function to target commands and eliminate duplicate telemetry attributes.
- Add comprehensive test suites for slot leasing, file classification, and telemetry deduplication.
@dan-petty
dan-petty merged commit 999ba41 into release/v0.2.21 Sep 19, 2026
5 checks passed
@dan-petty
dan-petty deleted the fix/283-dynamic-slot-leasing-context-aware-review branch September 19, 2026 14:50
dan-petty added a commit that referenced this pull request Sep 19, 2026
* feat(release): v0.2.21 (#279)

* fix(reliability): harden exception handling, optimize telemetry & clean data tier (#280) (#281)

* feat(reliability): harden exception handling, optimize telemetry & clean data tier (#280)

- Harden exception handling across AI, Git, Security, and Core modules with explicit error types and context
- Prevent silent error suppression and arbitrary default fallbacks across public APIs
- Optimize Jaeger/OTel traces, Prometheus metrics, and FluentBit logging configurations
- Enhance GitHub rate limiting client with header tracking and proactive quota safety
- Clean up .data directory handling, configure dedicated data.dir path, and deduplicate config writes
- Add forward-looking roadmap initiatives for process group management and merge readiness
- Expand test suites and architectural invariants for data dir config and stray script prevention
- Track deliverable completion in docs/agent/tasks/task-280-harden-exceptions-telemetry-data-tier.md

* fix(security): sanitize CodeQL clear-text secret logging in settings and credentials (#280)

* feat(ai): multi-scale semantic outline & inspectional scanner (#272) (#282)

* feat(ai, telemetry): dynamic slot leasing, telemetry deduplication, and context-aware file review (#283) (#284)

- Implement dynamic least-loaded slot leasing across candidate Ollama servers using condition variables to prevent Head-of-Line blocking.
- Add multi-layered file classification (shebangs, MIME types, AST/JSON/YAML/TOML parsing, canonical filenames/extensions) to route documentation, configuration, and code files to specialized review task prompts and persona subsets.
- Optimize review pre-analysis batching to run static AST extraction without redundant LLM chat calls.
- Fix OTelTyper lazy proxy registration to attribute code.namespace and code.function to target commands and eliminate duplicate telemetry attributes.
- Add comprehensive test suites for slot leasing, file classification, and telemetry deduplication.

* feat(ai): priority classification for AI/LLM requests (#285) (#286)

* docs(roadmap): expand v0.2.24 with 8 vibes-grounded improvements from Obs 18-20, Systems 09-10

New roadmap items derived from empirical vibes observations:

P0 - Critical:
- Lazy Domain-Gated MCP Tool Schema Hydration (Obs 18): 100+ tools consume 25% of context window; lazy hydration reclaims 85%
- Pipeline Stage Context Budgeting & Invariant Pinning (Obs 19): sequential pipeline context bloat; invariant eviction under multi-turn drift
- Capability-Gated Model Failover & AIMD Batch Recovery (Obs 20): 70B→14B failover cliff; one-way embedding batch ratchet

P1 - High:
- Lossless Structured Error Reflection for Schema Retries (Obs 19): 256-char truncation forces multi-turn retry loops
- Background Shell Pipe Deadlock Fix & Output Contract (Systems Obs 09): 64KB pipe buffer deadlock on verbose commands
- Structured Constraint Propagation Across Subagent Delegation (Systems Obs 09): 3-layer delegation retains only 61% fidelity
- MCP Resource-First Data Access & Tool Output Sandboxing (Systems Obs 10): Resources 3x cheaper for read-heavy patterns
- Lossless Structured Error Reflection (Obs 19): single-turn correction via structured field-path errors

* feat(ai): priority classification for AI/LLM requests (#285)

* feat(roadmap): add GitHub/VS Code agentic integrations and Grafana dashboards (#287, #289) (#288)

* feat(roadmap): add GitHub and VS Code agentic integrations (#287)

* feat(roadmap): add devops-cli Grafana dashboards suite (#289)

* feat(ai): track approximate lifetime spend per backend service with prometheus and grafana observability (#290) (#291)

* feat(ai): track approximate lifetime spend per backend service with prometheus and grafana observability (#290)

* fix(security): resolve Bandit B608 by using static parameterized queries in SpendLedger

* feat(ai, k8s): prioritize roadmap into 0.3.x-0.5.x lines and integrate LightLLM and Portkey AI routing (#292)

* feat(ai, k8s): prioritize roadmap into 0.3.x-0.5.x lines and integrate LightLLM and Portkey AI routing

* feat(roadmap, k8s): add turnkey Grafana dashboards for all Kubernetes stacks (#293) (#294)

* feat(roadmap, k8s): add turnkey Grafana dashboards for all Kubernetes stacks (#293)

* docs(sdlc): fix Phase 6 Mermaid release choreography diagram

* feat(roadmap): synchronize milestones, issues #307-#326, release epics, and project fields (#327)

* docs(release): compile v0.2.21 changelog notes (#328)

* fix(release): query milestone deliverables and enforce branch protection in pre-commit (#331)

* fix(release): query milestone deliverables and enforce branch protection in pre-commit (#330)

* build(ci): move devops ci quality gate to pre-push hook
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