Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
1b59452
feat(mcp): harden JSON-RPC 2.0 error handling and add SSE transport (…
jmrenouard Aug 21, 2026
c9c2ce1
docs: regenerate release notes
jmrenouard Aug 21, 2026
d77f49f
feat(skill): add analyze_buffer_pool AI diagnostic skill to MCP serve…
jmrenouard Aug 21, 2026
5e99cd5
docs: regenerate release notes
jmrenouard Aug 21, 2026
6dc5676
feat(skill): add diagnose_replication_lag AI diagnostic skill to MCP …
jmrenouard Aug 21, 2026
70b4140
docs: regenerate release notes
jmrenouard Aug 21, 2026
1b2cec5
docs(skills): update .agent/README.md with new skills catalog
jmrenouard Aug 21, 2026
3ee2501
feat(skill): add detect_fragmented_tables AI diagnostic skill to MCP …
jmrenouard Aug 21, 2026
8931faa
docs: regenerate release notes
jmrenouard Aug 21, 2026
ad6ac67
chore(release): bump version to 2.9.3 and generate release notes
jmrenouard Aug 21, 2026
07d07f8
docs: regenerate release notes
jmrenouard Aug 21, 2026
ee0753c
chore(release): merge release v2.9.3
jmrenouard Aug 21, 2026
bc7184a
docs(releases): restore release notes for v2.9.2
jmrenouard Aug 21, 2026
377605f
docs(releases): merge release notes rollback for v2.9.2
jmrenouard Aug 21, 2026
1e0ff78
feat(engine): implement MySQL boolean normalization subroutines (#1021)
jmrenouard Aug 21, 2026
cbc497e
docs: regenerate release notes
jmrenouard Aug 21, 2026
0d20ac9
feat(engine): merge boolean normalization engine (#1021)
jmrenouard Aug 21, 2026
e1d640d
feat(engine): add audit_deprecated_variables for obsolete variables a…
jmrenouard Aug 21, 2026
0e8817d
docs: regenerate release notes
jmrenouard Aug 21, 2026
8cb6884
feat(engine): merge deprecated variables audit engine (#1022)
jmrenouard Aug 21, 2026
0a9cda7
feat(build): migrate release_gen.py and genFeatures.sh to pure Perl (…
jmrenouard Aug 21, 2026
ccaf374
docs: regenerate release notes
jmrenouard Aug 21, 2026
ad78e6b
feat(build): merge build stack rationalization (#1023)
jmrenouard Aug 21, 2026
1ce8cce
chore(build): consolidate EOL and CVE scripts in pure Perl and add ge…
jmrenouard Aug 21, 2026
58581e2
docs: regenerate release notes
jmrenouard Aug 21, 2026
7acd5cc
chore(build): merge EOL/CVE pure Perl consolidation (#1024)
jmrenouard Aug 21, 2026
e9fec34
feat(ci): implement validate_roadmap.pl for schema and link integrity…
jmrenouard Aug 21, 2026
1ede773
docs: regenerate release notes
jmrenouard Aug 21, 2026
10c85d7
feat(ci): merge structured roadmap automation (#1025)
jmrenouard Aug 21, 2026
b2e3d97
feat(ha): implement discover_cluster_topology for Galera, Group Repli…
jmrenouard Aug 21, 2026
87d90a3
docs: regenerate release notes
jmrenouard Aug 21, 2026
f29c834
feat(ha): merge HA and replication topology discovery (#1026)
jmrenouard Aug 21, 2026
de74871
feat(ci): implement ci_matrix.json for centralized supported versions…
jmrenouard Aug 21, 2026
8a7399d
docs: regenerate release notes
jmrenouard Aug 21, 2026
c648b43
feat(ci): merge centralized CI version matrix (#1027)
jmrenouard Aug 21, 2026
a685eaf
feat(ci): implement validate_release.pl for unified pre-publish valid…
jmrenouard Aug 21, 2026
8754823
docs: regenerate release notes
jmrenouard Aug 21, 2026
1e33682
feat(ci): merge publish pipeline unification (#1028)
jmrenouard Aug 21, 2026
66a733e
chore(build): standardize metadata headers across all build scripts (…
jmrenouard Aug 21, 2026
554b444
docs: regenerate release notes
jmrenouard Aug 21, 2026
3c93eef
chore(build): merge build header standardization (#1029)
jmrenouard Aug 21, 2026
a70774b
feat(ci): implement check_doc_links.pl for documentation link auditin…
jmrenouard Aug 21, 2026
c2b6a78
docs: regenerate release notes
jmrenouard Aug 21, 2026
4b402a2
feat(ci): merge documentation link auditor (#1030)
jmrenouard Aug 21, 2026
54ab643
style: tidy mysqltuner.pl
jmrenouard Aug 21, 2026
c3fc38e
docs: regenerate release notes
jmrenouard Aug 21, 2026
d193454
feat(engine): merge dynamic doc anchors and KB URLs (#1031)
jmrenouard Aug 21, 2026
506369d
feat(ci): implement check_changelog_gate.pl for release schema verifi…
jmrenouard Aug 21, 2026
4505226
docs: regenerate release notes
jmrenouard Aug 21, 2026
1f9ca8c
feat(ci): merge changelog and release schema quality gate (#1032)
jmrenouard Aug 21, 2026
d523369
feat(ci): implement release_orchestrator.pl for automated SemVer rele…
jmrenouard Aug 21, 2026
0a43ef5
docs: regenerate release notes
jmrenouard Aug 21, 2026
97c39fc
feat(ci): merge release orchestrator (#1033)
jmrenouard Aug 21, 2026
b8dd263
style: tidy mysqltuner.pl
jmrenouard Aug 21, 2026
6a4c67f
feat(engine): implement SQL error trace logging and query anomaly cap…
jmrenouard Aug 21, 2026
ffd0c3c
docs: regenerate release notes
jmrenouard Aug 21, 2026
dec8e99
feat(engine): merge SQL error trace logging (#1034)
jmrenouard Aug 21, 2026
7efa913
test(ci): decompose repro_native_parsing.t into granular structured s…
jmrenouard Aug 21, 2026
d1d0321
docs: regenerate release notes
jmrenouard Aug 21, 2026
229d334
test(ci): merge test decomposition for repro_native_parsing.t (#1035)
jmrenouard Aug 21, 2026
e44458e
test(ci): decompose test_issue_863.t into granular structured subtest…
jmrenouard Aug 21, 2026
48c4360
docs: regenerate release notes
jmrenouard Aug 21, 2026
0f76f92
test(ci): merge test decomposition for test_issue_863.t (#1036)
jmrenouard Aug 21, 2026
4988e83
style: tidy mysqltuner.pl
jmrenouard Aug 21, 2026
75c71fc
feat(engine): implement audit_pfs_stage_profiling for event analysis …
jmrenouard Aug 21, 2026
94977a5
docs: regenerate release notes
jmrenouard Aug 21, 2026
0eaeef9
feat(engine): merge PFS stage profiling (#1037)
jmrenouard Aug 21, 2026
7ff81b7
style: tidy mysqltuner.pl
jmrenouard Aug 21, 2026
d2f8e7d
feat(engine): implement audit_innodb_ahi for partitions and hit ratio…
jmrenouard Aug 21, 2026
4a18a02
docs: regenerate release notes
jmrenouard Aug 21, 2026
e22038c
feat(engine): merge InnoDB AHI audit (#1038)
jmrenouard Aug 21, 2026
73f73bb
style: tidy mysqltuner.pl
jmrenouard Aug 21, 2026
24baa3a
feat(engine): implement audit_tls_ciphers_protocols for TLS audit (#1…
jmrenouard Aug 21, 2026
bbdd70b
docs: regenerate release notes
jmrenouard Aug 21, 2026
c870b81
feat(engine): merge TLS ciphers audit (#1039)
jmrenouard Aug 21, 2026
a99dc8c
style: tidy mysqltuner.pl
jmrenouard Aug 21, 2026
52faf35
feat(engine): implement audit_table_definition_cache for thrashing (#…
jmrenouard Aug 21, 2026
52a5ce3
docs: regenerate release notes
jmrenouard Aug 21, 2026
0a3a95e
feat(engine): merge Table Definition Cache audit (#1040)
jmrenouard Aug 21, 2026
712e5a8
feat(triage): implement autonomous issue triage & upstream synchroniz…
jmrenouard Aug 21, 2026
afbc656
docs: regenerate release notes
jmrenouard Aug 21, 2026
cdf6914
feat(triage): add live triage and closing runner for major/MySQLTuner…
jmrenouard Aug 21, 2026
eca5d08
docs: regenerate release notes
jmrenouard Aug 21, 2026
bd70005
feat(triage): add English translation engine for major/MySQLTuner-per…
jmrenouard Aug 21, 2026
df7499b
docs: regenerate release notes
jmrenouard Aug 21, 2026
a9396ba
docs(mcp): fix Mermaid diagram syntax and quoting in architecture gui…
jmrenouard Aug 21, 2026
f8a73c4
docs: regenerate release notes
jmrenouard Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .agent/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,11 @@ This directory contains the project's technical constitution, specialized skills

| File | Description |
| :--- | :--- |
| [`analyze-buffer-pool/`](./skills/analyze-buffer-pool/SKILL.md) | Deeply analyzes InnoDB Buffer Pool efficiency, hit ratio, memory allocation, and instance concurrency to recommend optimal sizing. |
| [`cli-execution-mastery/`](./skills/cli-execution-mastery/SKILL.md) | Mastery of MySQLTuner CLI options for connection and authentication. |
| [`db-version-rift/`](./skills/db-version-rift/SKILL.md) | Mapping of critical differences between MySQL and MariaDB versions for cross-compatible diagnostics. |
| [`detect-fragmented-tables/`](./skills/detect-fragmented-tables/SKILL.md) | Detects tables with high storage fragmentation, calculates reclaimable disk space, evaluates lock impact, and generates safe defragmentation commands. |
| [`diagnose-replication-lag/`](./skills/diagnose-replication-lag/SKILL.md) | Diagnoses MySQL and MariaDB replication latency, IO/SQL thread failures, GTID synchronization, and parallel worker saturation. |
| [`legacy-perl-patterns/`](./skills/legacy-perl-patterns/SKILL.md) | Guidelines and patterns for maintaining backward compatibility with older Perl versions (5.8+). |
| [`testing-orchestration/`](./skills/testing-orchestration/SKILL.md) | Knowledge on how to run, orchestrate, and validate tests in the MySQLTuner project. |

Expand Down
2 changes: 1 addition & 1 deletion .agent/rules/00_constitution.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ This project follows a standardized governance structure:
- **Tier 02**: [02_architecture.md](file:///.agent/rules/02_architecture.md) (Environment)
- **Tier 03**: [03_execution_rules.md](file:///.agent/rules/03_execution_rules.md) (Constraints)
- **Tier 04**: [04_best_practices.md](file:///.agent/rules/04_best_practices.md) (Implementation)
- **Tier 05**: [05_memory_protocol.md](file:///.agent/rules/05_memory_protocol.md) (History)
- **Tier 05**: Native Memory Protocol (History)
- **Dynamic**: Native Gemini Knowledge Items (KIs) managed via Antigravity Memory Protocol.

## βœ… Verification
Expand Down
2 changes: 1 addition & 1 deletion .agent/rules/01_objective.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,5 @@ $$DYNAMIC\_CONTEXT$$

## βœ… Verification

* Review [task.md](file:///brain/2fa184f4-13e1-4c64-bf13-57b4addd2797/task.md) for current status.
* Review [ROADMAP.md](file:///ROADMAP.md) for current status.
* Periodic roadmap reviews during `/release-preflight`.
34 changes: 34 additions & 0 deletions .agent/skills/analyze-buffer-pool/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: analyze_buffer_pool
description: Deeply analyzes InnoDB Buffer Pool efficiency, hit ratio, memory allocation, and instance concurrency to recommend optimal sizing.
---

# AI Skill: InnoDB Buffer Pool Sizing & Efficiency Analysis

## 🧠 Purpose & Operational Objectives
The `analyze_buffer_pool` skill enables autonomous DBA agents to diagnose memory pressure, caching efficiency, and dirty page write stalls in the InnoDB storage engine.

## πŸ“‹ Preconditions & Context
- Server running MySQL 5.5+ or MariaDB 10.0+ with InnoDB enabled.
- Database connectivity established or cached audit state available.
- Read-only execution: does not execute any modifying statements directly.

## πŸ› οΈ Input Parameters
| Parameter | Type | Required | Default | Description |
|:---|:---|:---|:---|:---|
| `target_ram_percentage` | number | No | `75` | Target percentage of available host RAM dedicated to InnoDB (50-85%). |
| `include_dirty_pages` | boolean | No | `true` | Include dirty page write stall analysis. |

## πŸ“Š Evaluation Criteria & Thresholds
1. **Hit Ratio**: $\frac{\text{read\_requests} - \text{reads}}{\text{read\_requests}} \times 100$
- $\ge 99\%$: **OPTIMAL**
- $95\% - 99\%$: **ACCEPTABLE**
- $< 95\%$: **UNDERSIZED** (Generates disk I/O bottleneck)
2. **Dirty Page Ratio**: $\frac{\text{pages\_dirty}}{\text{pages\_total}} \times 100$
- $> 75\%$: **DIRTY_STALL** (Risk of checkpoint flushing stalls)
3. **Instance Partitioning**:
- For buffer pools $> 1\text{GB}$, recommend `innodb_buffer_pool_instances` $\ge 8$.

## πŸ›‘οΈ Guardrails & Safety
- All recommendations specify exact SQL (`SET GLOBAL ...`) and rollback SQL.
- Changes requiring restart (e.g. `innodb_buffer_pool_instances` on older MySQL) are explicitly flagged with `requires_restart: true`.
32 changes: 32 additions & 0 deletions .agent/skills/detect-fragmented-tables/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: detect_fragmented_tables
description: Detects tables with high storage fragmentation, calculates reclaimable disk space, evaluates lock impact, and generates safe defragmentation commands.
---

# AI Skill: Table Fragmentation & Storage Reclaim Diagnostics

## 🧠 Purpose & Operational Objectives
The `detect_fragmented_tables` skill enables autonomous DBA agents to identify wasted disk space, high data file fragmentation, and unused allocated extents across InnoDB and MyISAM tables.

## πŸ“‹ Preconditions & Context
- Server running MySQL 5.5+ or MariaDB 10.0+.
- Read access to `information_schema.TABLES`.
- Evaluates non-system schemas (skips `mysql`, `information_schema`, `performance_schema`, `sys`).

## πŸ› οΈ Input Parameters
| Parameter | Type | Required | Default | Description |
|:---|:---|:---|:---|:---|
| `min_fragmentation_pct` | number | No | `20` | Minimum fragmentation percentage (0-100) to trigger reporting. |
| `min_table_size_mb` | number | No | `10` | Minimum table size in MB to filter out trivial tables. |
| `schema_filter` | string | No | `""` | Optional schema name to restrict the scan. |

## πŸ“Š Fragmentation Formula & Impact Scoring
$$\text{Total Allocated Space} = \text{DATA\_LENGTH} + \text{INDEX\_LENGTH} + \text{DATA\_FREE}$$
$$\text{Fragmentation Pct} = \left(\frac{\text{DATA\_FREE}}{\text{Total Allocated Space}}\right) \times 100$$

- **Tables $< 5\text{GB}$**: Can be defragmented online during low-traffic windows via `OPTIMIZE TABLE \`db\`.\`table\`;`.
- **Tables $\ge 5\text{GB}$**: Flagged as `is_high_impact: true`. Advise using online tools like `pt-online-schema-change` or `gh-ost` to prevent extended table locks and disk thrashing.

## πŸ›‘οΈ Guardrails & Safety
- All schema and table names are safely escaped with backticks to prevent SQL injection.
- Reclaimable disk space is calculated deterministically.
30 changes: 30 additions & 0 deletions .agent/skills/diagnose-replication-lag/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: diagnose_replication_lag
description: Diagnoses MySQL and MariaDB replication latency, IO/SQL thread failures, GTID synchronization, and parallel worker saturation.
---

# AI Skill: Database Replication Latency & Health Diagnostics

## 🧠 Purpose & Operational Objectives
The `diagnose_replication_lag` skill allows AI agents to monitor binary log transport latency, parallel worker thread concurrency, and replication thread failures in master-replica and multi-source topologies.

## πŸ“‹ Preconditions & Context
- Server configured as a MySQL or MariaDB replica/slave node.
- Read-only queries executed (`SHOW REPLICA STATUS` or `SHOW SLAVE STATUS`).
- Compatible with legacy (`SLAVE`) and modern (`REPLICA`) keywords.

## πŸ› οΈ Input Parameters
| Parameter | Type | Required | Default | Description |
|:---|:---|:---|:---|:---|
| `max_acceptable_lag_seconds` | integer | No | `30` | Threshold in seconds above which replication is considered degraded. |
| `channel_name` | string | No | `""` | Multi-source replication channel identifier (optional). |

## πŸ“Š Status Evaluation
1. **NOT_A_REPLICA**: No replication configuration detected on the instance.
2. **THREAD_FAILED**: `Slave_IO_Running != 'Yes'` or `Slave_SQL_Running != 'Yes'`. Returns exact SQL/IO error code and message.
3. **DEGRADED_LAG**: Threads running, but `Seconds_Behind_Master > max_acceptable_lag_seconds`.
4. **HEALTHY**: Both threads running and latency within acceptable bounds.

## πŸ›‘οΈ Guardrails & Remediation
- Automatically suggests parallel worker thread tuning (`replica_parallel_workers`, `replica_parallel_type = 'LOGICAL_CLOCK'`) to absorb heavy write streams.
- Provides rollback commands for all global variables.
2 changes: 1 addition & 1 deletion .agent/workflows/doc-sync.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ perl build/doc_sync.pl
- [ ] `Changelog` contains a section for the current version with correct date.
- [ ] `releases/v[VERSION].md` exists and is synchronized with `Changelog`.

3. Review the updated summary in [.agent/README.md](file://.agent/README.md).
3. Review the updated summary in [README.md](file:///.agent/README.md).
67 changes: 67 additions & 0 deletions .github/workflows/issue_triage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: "Autonomous Issue Triage & Diagnostics"

on:
issues:
types: [opened, edited, reopened]
workflow_dispatch:
inputs:
issue_number:
description: "Target GitHub Issue number to triage"
required: false
type: number
dry_run:
description: "Dry Run mode (no comments or state mutations)"
required: false
default: true
type: boolean

permissions:
contents: read
issues: write
actions: read

jobs:
triage:
name: "Autonomous Triage & Proof Verification"
runs-on: ubuntu-latest
steps:
- name: "Checkout repository"
uses: actions/checkout@v4

- name: "Set up Python 3.12"
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: "Set up Perl environment"
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: "5.38"

- name: "Verify Triage Engine Unit Tests"
run: |
python3 -m unittest discover -s tests -p "unit_*.py"
prove -I. -Itests tests/unit_issue_triage_bridge.t

- name: "Execute Issue Triage Orchestrator"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ISSUE_NUMBER: ${{ github.event.issue.number || inputs.issue_number }}
IS_DRY_RUN: ${{ github.event_name == 'workflow_dispatch' && inputs.dry_run }}
run: |
EXTRA_ARGS=""
if [ -n "$ISSUE_NUMBER" ]; then
EXTRA_ARGS="--issue $ISSUE_NUMBER"
fi
if [ "$IS_DRY_RUN" = "false" ] || [ "${{ github.event_name }}" = "issues" ]; then
EXTRA_ARGS="$EXTRA_ARGS --live"
fi
python3 build/issue_triage/triage_orchestrator.py $EXTRA_ARGS

- name: "Upload Triage Reports & Artifacts"
if: always()
uses: actions/upload-artifact@v4
with:
name: issue-triage-reports
path: reports/triage/
retention-days: 14
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,5 @@ test_dump_84/ifs_COLLATION_CHARACTER_SET_APPLICABILITY.csv
__pycache__/
*.pyc
execution.log
execution.log
execution.log
reports/
.triage_cache/
22 changes: 11 additions & 11 deletions AGENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,17 +131,17 @@ An AI agent performing database maintenance should follow this operational path:

```mermaid
graph TD
A[Start: Read Latest Audit] --> B{Are there findings?}
B -- No --> C[End: Database is Tuned]
B -- Yes --> D[Filter findings by Risk Level]
D --> E[Filter: Risk <= Medium]
E --> F[Present to User: Statement & Rollback]
F --> G{User Confirms?}
G -- No --> H[Skip recommendation]
G -- Yes --> I[Execute apply_recommendation]
I --> J{Performance OK?}
J -- Yes --> K[Log Transaction Success]
J -- No --> L[Execute rollback_recommendation]
A["Start: Read Latest Audit"] --> B{"Are there findings?"}
B -- No --> C["End: Database is Tuned"]
B -- Yes --> D["Filter findings by Risk Level"]
D --> E["Filter: Risk <= Medium"]
E --> F["Present to User: Statement & Rollback"]
F --> G{"User Confirms?"}
G -- No --> H["Skip recommendation"]
G -- Yes --> I["Execute apply_recommendation"]
I --> J{"Performance OK?"}
J -- Yes --> K["Log Transaction Success"]
J -- No --> L["Execute rollback_recommendation"]
```

### Agent Prompt Instructions Template (Copy-Paste for LLM Context)
Expand Down
2 changes: 1 addition & 1 deletion CURRENT_VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.9.2
2.9.3
56 changes: 56 additions & 0 deletions Changelog
Original file line number Diff line number Diff line change
@@ -1,5 +1,61 @@
# MySQLTuner Changelog

2.9.3 2026-08-21
- chore(build): consolidate EOL and CVE scripts in pure Perl and add get_version.sh (#1024)
- chore(build): standardize metadata headers across all build scripts (#1029)
- feat(build): migrate release_gen.py and genFeatures.sh to pure Perl (#1023)
- feat(ci): implement validate_roadmap.pl for schema and link integrity (#1025)
- feat(ci): implement ci_matrix.json for centralized supported versions matrix (#1027)
- feat(ci): implement validate_release.pl for unified pre-publish validation (#1028)
- feat(ci): implement check_doc_links.pl for documentation link auditing (#1030)
- feat(ci): implement check_changelog_gate.pl for release artifacts schema verification (#1032)
- feat(ci): implement release_orchestrator.pl for automated SemVer release flow (#1033)
- feat(engine): implement MySQL boolean normalization subroutines (#1021)
- feat(engine): add audit_deprecated_variables for obsolete variables and synonyms (#1022)
- feat(engine): implement get_doc_anchor and get_doc_url for documentation anchors (#1031)
- feat(engine): implement SQL error trace logging and query anomaly capture (#1034)
- feat(engine): implement audit_pfs_stage_profiling for stage and wait event analysis (#1037)
- feat(engine): implement audit_innodb_ahi for adaptive hash index partitions and hit ratio (#1038)
- feat(engine): implement audit_tls_ciphers_protocols for cipher and TLS version audit (#1039)
- feat(engine): implement audit_table_definition_cache for cache thrashing detection (#1040)
- feat(ha): implement discover_cluster_topology for Galera, Group Replication and Replicas (#1026)
- feat(mcp): harden JSON-RPC 2.0 error handling, safety guardrails and SSE transport (#1001)
- feat(skill): add analyze_buffer_pool AI diagnostic skill to MCP server (#1003)
- feat(skill): add diagnose_replication_lag AI diagnostic skill to MCP server (#1005)
- feat(skill): add detect_fragmented_tables AI diagnostic skill to MCP server (#1007)
- feat(triage): implement autonomous issue triage & diagnostic engine (#1041)
- feat(triage): add upstream synchronization and triage for major/MySQLTuner-perl (#1042)
- feat(triage): add live triage and closing runner for major/MySQLTuner-perl (#1043)
- feat(triage): add English translation engine for major/MySQLTuner-perl comments (#1044)
- test(build): add unit_build_headers.t validating build script header compliance (#1029)
- test(build): add unit_cve_update.t validating pure Perl CVE and EOL scripts (#1024)
- test(build): add unit_release_gen.t validating pure Perl release generator (#1023)
- test(ci): add unit_roadmap_validation.t validating roadmap schema (#1025)
- test(ci): add unit_ci_matrix.t validating CI version matrix and markdown alignment (#1027)
- test(ci): add unit_release_validation.t validating release pre-flight checks (#1028)
- test(ci): add unit_doc_link_auditor.t validating reference link integrity (#1030)
- test(ci): add unit_changelog_gate.t validating conventional commits and release schema (#1032)
- test(ci): add unit_release_orchestrator.t validating SemVer bumps and dry runs (#1033)
- test(ci): decompose repro_native_parsing.t into granular structured subtests (#1035)
- test(ci): decompose test_issue_863.t into granular structured subtests (#1036)
- test(engine): add unit_boolean_normalization.t validating boolean parsing (#1021)
- test(engine): add unit_deprecated_vars_audit.t validating deprecation rules (#1022)
- test(engine): add unit_doc_anchors.t validating topic anchor and KB URL mappings (#1031)
- test(engine): add unit_sql_trace_logging.t validating trace buffer and diagnostic report (#1034)
- test(engine): add unit_pfs_stage_profiling.t validating stage bottlenecks and mutex waits (#1037)
- test(engine): add unit_innodb_ahi.t validating search hit ratios and partition sizing (#1038)
- test(engine): add unit_tls_ciphers.t validating deprecated TLS versions and weak ciphers (#1039)
- test(engine): add unit_table_definition_cache.t validating fill ratio and eviction rate (#1040)
- test(ha): add unit_topology_autodiscovery.t validating topology classification (#1026)
- test(mcp): add unit_mcp_protocol.t validating standard JSON-RPC 2.0 error codes and SSE endpoints (#1001)
- test(skill): add unit_skill_buffer_pool.t validating InnoDB buffer pool calculations (#1003)
- test(skill): add unit_skill_replication.t validating replication lag and thread diagnostics (#1005)
- test(skill): add unit_skill_fragmentation.t validating table fragmentation checks (#1007)
- test(triage): add unit and E2E suites for issue triage engine (#1041)
- test(triage): add unit_upstream_syncer.py for major/MySQLTuner-perl (#1042)
- ci(triage): add autonomous issue triage workflow and Makefile targets (#1041)
- docs(mcp): fix Mermaid diagram syntax and quoting in architecture guides (#1045)

2.9.2 2026-07-29
- chore(deps): replace abandoned cz-conventional-changelog with @commitlint/cz-commitlint (#587)
- feat(galera): add network queue, PK certification, and split-brain quorum diagnostics (#975)
Expand Down
29 changes: 26 additions & 3 deletions FEATURES.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,49 @@
Features list for option: --feature (dev only)
---


* _parse_version
* _sanitized_result_for_export
* _serialize_to_json
* _to_yaml
* _yaml_scalar
* adjust_aborted_connects
* audit_deprecated_variables
* audit_innodb_ahi
* audit_pfs_stage_profiling
* audit_table_definition_cache
* audit_tls_ciphers_protocols
* badprint
* build_mysql_connection_command
* calculate_health_score
* calculate_sectional_health_scores
* clear_sql_traces
* cloud_setup
* cmdprint
* cve_recommendations
* debugprint
* detect_infrastructure
* discover_cluster_topology
* display_health_score
* escape_html
* execute_system_command
* execute_system_command;
* execute_system_command
* find_dominant_style
* format_mysql_bool
* format_recommendation_item
* format_sql_trace_report
* generate_auto_fix_snippets
* goodprint
* greenwrap
* headerprint
* historical_comparison
* log_file_recommendations
* log_sql_trace
* logical_cpu_cores
* make_recommendations
* mariadb_aria
* mariadb_connect
* mariadb_galera
* mariadb_query_cache_info
* mariadb_rockdb
* mariadb_spider
* mariadb_threadpool
Expand All @@ -53,19 +70,25 @@ Features list for option: --feature (dev only)
* mysql_tables
* mysql_triggers
* mysql_views
* normalize_mysql_bool
* parse_cli_args
* parse_human_size_to_mb
* parse_size_bytes
* predictive_capacity_analysis
* pretty_duration
* prettyprint
* process_sysbench_metrics
* push_recommendation
* redwrap
* save_aborted_connects_state
* security_recommendations
* setup_environment
* show_help
* show_help;
* show_help
* ssl_tls_recommendations
* stop_section_timing
* subheaderprint
* subheaderprint
* system_recommendations
* validate_mysql_version
* validate_tuner_version
Expand Down
Empty file removed JenkinsFile
Empty file.
Loading
Loading