Abstract
The Transformation of Autonomous AI Agents from Tool to Teammate in Software Systems
Keywords
Agentic AI, Autonomous AI Agents, Tool to Teammate, Software Systems, Autonomous, Transformation of Autonomous AI Agents
1. Introduction
Until recently, AI has mainly been integrated into software systems as a tool assisting narrowly defined, human-controlled tasks. These deployments often rely on carefully engineered prompts and continuous human supervision to achieve reliable outputs. Experience from production environments suggests that prompt-dependent workflows become increasingly difficult to scale and hinder real-time decision-making in uncertain environments. Furthermore, the continuous human monitoring needed to guide model behavior increases architectural coupling and elevates long-term software maintenance costs.
Moving from model-centric interfaces toward agent-centric architectures changes how software systems employ AI. Rather than functioning as an isolated, stateless service, an agentic component maintains operational context, monitors environmental signals, selects tools, and executes multi-step workflows. This approach supports complex repository operations such as code review, telemetry analysis, and technical debt mitigation. These operations depend on historical data and structural context like dependencies and team conventions. Transforming standalone language models into autonomous software agents enables AI capabilities to be integrated more effectively into large-scale software systems.
This transition builds on prior research in intelligent agents and more recent advances in LLMs (Large Language Model). The idea of agents has long been studied in AI and distributed systems, including frameworks for rational action, planning, and interaction with environments [1]. Tool use and reasoning-action loops connect language models to external functions, APIs, and software environments, enabling agents to sense, decide, and act beyond text generation [2]. In parallel, multi-agent approaches explore coordination among specialized agents to solve complex tasks via decomposition and collaboration. As systematically categorized in recent literature, this collaborative division of labor replicates structured organizational architectures, allowing heterogeneous agents to overcome the computational and reasoning bottlenecks of solitary models through coordinated communication and collective decision-making frameworks [16]. Recent studies in AI-assisted software engineering further demonstrate how these capabilities can be embedded into practical development workflows while maintaining governance and operational control. These include mechanisms such as guardrails, approval gates, and auditability, which improve reliability and controllability [3].
To guide this discussion, this chapter addresses four core research questions:
RQ1: How do autonomous agents fundamentally differ from prompt-driven applications, conversational interfaces, and conventional software components
RQ2: In what ways do dynamic planning, contextual memory, tool execution, and orchestration layers affect system reliability and performance during scaling?
RQ3: Which interaction patterns enable autonomous agents to optimize workflows within software development, IT operations, and data analysis?
RQ4: What systemic risks arise from agent autonomy, and which governance mechanisms can mitigate these risks in production environments?
Integrating autonomous components into production workflows introduces distinct architectural dependencies that affect system maintainability. The viability of these components as software teammates depends on deliberate architectural choices rather than temporary prompt design.
This chapter offers four main contributions to the field. It establishes a taxonomy for practitioners to clarify the operational boundaries between AI agents, conversational chatbots, workflow automation, and standard software services. To explain system design evolution, we present a structured six-layer agentic stack that spans perception, memory, reasoning, action, orchestration, and governance. The practical utility of these concepts is demonstrated through a reference multi-agent system, the Software Quality Companion, which coordinates specialized agents to execute code reviews, generate test suites, and track technical debt. Finally, we propose a governance framework that maps operational failure modes to engineering controls and quantifiable evaluation criteria, facilitating the transition of agents into reliable software teammates.
2. The Evolution of Agentic Systems: From Symbolic Planning to LLM-Based Collaboration
Research on AI agents has a long history in artificial intelligence and distributed systems. Classical definitions describe an agent as an entity that perceives its environment through sensors and acts upon that environment through effectors in pursuit of goals [1]. Multi-agent systems extend this view by studying how multiple autonomous entities coordinate, negotiate, compete, or collaborate in shared environments [2], [3]. These classical concepts continue to underpin modern agent architectures because the central questions are still related to autonomy, perception, action, coordination, and rational decision-making.
Recent advances in LLMs have changed the practical meaning of software agents. Instead of being limited to predefined rules or symbolic planning, LLM-based agents can interpret natural language goals, reason over contextual information, call external tools, and revise plans based on feedback. The ReAct framework showed that reasoning traces and external actions can be interleaved, allowing language models to solve tasks through both internal reasoning and environment interaction [4]. Schick et.al. demonstrated that language models can learn to use external tools such as calculators, search engines, and APIs, thereby extending their functional capability beyond text generation [5].
In software engineering, LLM-based agents are increasingly explored for code generation, program repair, test generation, requirements analysis, documentation, and maintenance tasks. Recent surveys show that agentic software engineering differs from simple code completion because it requires task decomposition, repository-level context, tool invocation, and iterative validation [6], [7]. As an example, an agent supporting code review may need to inspect changed files, retrieve architectural constraints, compare coding conventions, run tests, and produce feedback that is both technically correct and actionable.
However, autonomy also introduces new risks. Agents that interact with tools can cause state-changing side effects, propagate incorrect assumptions, or execute unsafe actions if they are not constrained by system-level policies. Therefore, recent discussions on agentic AI emphasize governance mechanisms such as least privilege permissions, approval gates, structured logging, red teaming, monitoring, and evaluation benchmarks [8], [9]. This chapter builds on this body of work and focuses on how autonomous AI agents can be designed as reliable software teammates rather than brittle prompt-dependent add-ons.
3. Demarcating AI Agents: Conceptual Boundaries and Distinctions
The term AI agent is frequently conflated with chatbots, automation scripts, or microservices, yet each represents only a subset of agentic capability. An agent is neither a stateless API call nor a static, single-function component. While chatbots provide immediate prompt responses within limited context windows and microservices expose fixed operations, an AI agent actively maintains state, pursues high-level objectives, and dynamically adapts its workflow based on environmental feedback. In practice, three characteristics distinguish AI agents from conventional software components:
- Goal Orientation: The capacity to autonomously decompose a defined objective into an actionable sequence of intermediate steps.
- Situational Awareness: The maintenance of persistent state, leveraging historical interactions and real-time environmental signals.
- Action Capability: The execution of tool invocations, system interactions, and distributed multi-agent collaboration.
Distinguishing between transient execution layers and persistent autonomous components is critical for system architecture. As shown in Table 1, conversational chatbots remain bound to session-specific context paths, and workflow automation executes rigid, predefined routines. Conversely, an AI agent synthesizes these components to dynamically realign its operational execution with the shifting requirements of the task context.
Table 1. Taxonomy of AI Constructs: Structural Properties and Capability Boundaries
Architectural Construct | Primary Trigger | State & Memory Management | Planning & Decomposition | Tool Integration | Autonomy Level | Representative Software Paradigm |
Stateless API Call | External system developer invocation | None (Transient execution) | None | Fixed / Hardcoded | None | Sentiment analysis endpoint |
Conversational Chatbot | Direct user natural language prompt | Context bound (Session-limited) | Limited rule or heuristic response | Optional / Rule-governed | Low | Customer support interface |
Workflow Automation | System event or execution state | Predefined (Static directed acyclic graphs) | Predefined (Static orchestration) | Yes | Medium | Automated CI/CD execution script |
Autonomous AI Agent | High-level objective or context shift | Stateful (Persistent contextual memory) | Dynamic (Iterative goal decomposition) | Yes (Dynamic tool selection) | High | Autonomous repository code-review agent |
Multi-Agent System | Shared systemic organizational objective | Distributed & shared context layers | Coordinated (Inter-agent negotiation) | Yes (Parallelized environment access) | High (Distributed) | Integrated software quality companion stack |
4. Architectural Taxonomy and Operational Layers of Autonomous Agents
A practical agent architecture can be described through six layers. The memory layer stores short-term task context and long-term organizational or project knowledge. The perception layer collects signals from repositories, logs, user interactions, tickets, telemetry, and external systems. The reasoning and planning layer decompose goals into intermediate steps, selects strategies, and revises plans when new evidence appears. The action layer connects the agent to tools such as APIs, databases, CI/CD (Continuous Integration/Continuous Deployment) pipelines, issue trackers, test runners, and documentation systems. The orchestration layer coordinates multiple agents, resolves conflicts, and manages shared context. The governance layer constrains agent behavior through permissions, approval policies, audit logs, monitoring, and evaluation. The operational lifecycle relies on a decoupling of environmental signals from execution policies. Figure 1 outlines this structural distribution demonstrating how the governance layer acts as an inline boundary checking mechanism over the action layer.

Figure 1. Operational Lifecycles and Layered Architecture of Autonomous System Components
The agent receives environmental signals through the perception layer, stores and retrieves context through memory, plans actions through a reasoning layer, executes tool calls through the action layer, coordinates with other agents through orchestration, and remains constrained by governance mechanisms.
AI-agent architectures have progressed from single-agent, low-autonomy workflows toward richer designs with integrated planning, memory, and tool use. Planning helps identify intermediate steps, memory preserves longer-term context, and tool use enables agents to move from suggestion to action.
4.1. Deployment Domains and Practical Implementations of Multi-Agent Systems
Multi-agent (agentic) designs consist of different specialized agents which form a team. These agents coordinate toward a shared objective, enabling complex problems to be solved in a distributed manner. This can be interpreted as an agent-centric counterpart to modularity in classical software architecture. In software development, different agents can be deployed to support code review, technical-debt analysis, and test-case generation, evaluating changes in the context of project history. In IT operations, agents can assist incident management by analyzing logs, recalling similar prior cases, and proposing remediation steps. In data analysis, self-directed agents can explore data sources, choose methods, and connect results to business objectives.
4.2. Systemic Vulnerabilities, Operational Risks, and Mitigation Strategies
Agent autonomy introduces distinct failure modes that extend beyond standard model vulnerabilities by directly altering the state of external software systems. A practical way to address these challenges is to classify risks according to their operational impact and associate each with an engineering control. The primary risk categories are outlined in Table 2. Controllability failures occur when agents enter recursive, high-cost runtime loops or cause unintended resource consumption due to poorly defined action boundaries. Reliability challenges emerge from the probabilistic nature of agent decisions, leading to fragile plans or context retrieval errors. Furthermore, objective misalignment occurs when an agent optimizes a proxy metric that diverges from organizational compliance or long-term system health. Expanding tool permissions broadens the attack surface, creating significant security vulnerabilities such as prompt injection and unauthorized data exfiltration.
Table 2. Mapping Operational Failure Modes to Architectural Controls
Risk Category | Operational Failure Example | Architectural Countermeasure & Control |
Controllability | High-cost recursive runtime loops (e.g., repeated CI/CD executions) | Rate limiting, token budgets, and hard execution caps |
Reliability | Invoking erroneous APIs or executing actions via stale architectural context | Schema validation, context freshness checks, and fallback states |
Objective Misalignment | Optimizing for review throughput while bypassing security rules | Policy-based constraint scoring and multi-objective optimization |
Security Vulnerabilities | Prompt injection inside code documentation or pull request markdown | Context sanitization, sandboxing, and tokenized instruction hierarchies |
Data Privacy | Exfiltration of proprietary or sensitive data in logs and reports | Data masking, strict access control boundaries, and egress filtering |
Coordination Failure | Sub-agents generating conflicting refactoring or status indicators | Orchestrator mediation protocols and deterministic conflict resolution |
User Over-reliance | Engineers blindly accepting automated refactoring without manual review | Mandatory human-in-the-loop gates and confidence labeling |
Audit & Explainability | Inability to reconstruct the rationale behind destructive state changes | Immutable structured logging, trace generation, and replay systems |
These risks show that agent safety cannot be addressed only at the prompt level. Since agents act through tools and interact with external systems, safety must be implemented as a software architecture property. Permissions, monitoring, logging, rate limits, and approval gates should be treated as first-class design components. To translate these recommendations into engineering practice, we recommend combining four layers of governance as shown in Table 3. The governance stack that maps common agent risks to enforceable system controls can be visually summarized as Figure 2.
Table 3. Governance Layers and Verification Criteria for Autonomous Agent Operations
Governance Layer | Core Control Mechanisms | Implementation Verification Criteria |
Layer 1: Policy & Permissions | Least privilege execution, tool allowlisting, read/write duty separation | Ensure agents possess no implicit write access to target production environments |
Layer 2: Action Gating | Human-in-the-loop gates, execution token budgets, rate limiting | Require explicit engineer approval for state-changing operations or transactions exceeding budget ceilings |
Layer 3: Observability | Immutable structured logging, step-by-step reasoning trace capture | Validate that post-incident replays can accurately reconstruct agent state transitions from log metrics |
Layer 4: Evaluation | Offline adversarial testing, real-time drift monitors, anomaly detection | Conduct periodic red-teaming simulations to verify agent resistance against context exploitation |

Figure 2. Structural Distribution of the Operational Governance Stack
Multi-agent decomposition can improve coverage and specialization, but it can also increase coordination risk. Practical mitigations include a clear contract for each agent role, a shared context schema with provenance, and an orchestrator that resolves conflicts using explicit priority rules rather than implicit prompt ordering.
For maintainable deployments, the above controls should be linked to measurable outcomes. Example metrics include: action reversal rate (how often actions must be undone), tool failure rate, policy violation rate, time to detection for incidents, and human review load for gated actions. These metrics support iterative improvement and make the autonomy, trust, and control tradeoff explicit.
5. System Implementation: A Multi-Agent Software Quality Companion
Testing theories in production environments requires evaluating how autonomous components operate alongside human engineers. To demonstrate the practical utility of the layered governance and architecture discussed in the previous section, this section introduces a multi-agent software quality companion designed for enterprise development workflows. Modern software teams frequently manage extensive repositories characterized by rapid pull requests, shifting dependency trees, and accumulating technical debt. In these high-velocity environments, evaluating code quality purely through isolated static analysis tools or rigid validation pipelines often falls short. Static checkers lack historical project context and cannot weigh the long-term maintainability trade-offs of an architectural decision. The companion system outlined here addresses these limitations by synthesizing repository history, architectural criteria, and real-time test telemetry to function as an active review partner rather than a passive automation script.
5.1. Functional Specification and Operational Deliverables
The architecture coordinates five specialized agent roles to assess different dimensions of incoming code changes, as detailed in Table 4. Each component operates on distinct data sources and delivers specialized feedback:
- Code Review Agent: Ingests pull request source diffs and coding standard schemas to detect structural defects, security vulnerabilities, and code smells at the file level.
- Test Generation Agent: Analyzes modified source files alongside existing regression suites and dynamic coverage telemetry. Its primary task is identifying coverage gaps and generating targeted unit or integration test cases.
- Architectural Consistency Agent: Evaluates structural drift by comparing module dependency graphs and system boundaries against established Architectural Decision Records (ADRs).
- Technical Debt Observer: Tracks localized debt accumulation and recurring decay patterns by analyzing historical commit logs, issue tracker backlogs, and static maintainability index metrics.
- Orchestrator Agent: Collects the distributed payloads from the sub-agents, resolves conflicting findings, and compiles a single, prioritized feedback report optimized for human developers.
Table 4. Functional Specification and Operational Deliverables of Specialized Agents
Agent Role | Primary Ingest Data (Inputs) | Core Analytical Assignment (Tasks) | Architectural Deliverable (Outputs) |
Code Review Agent | Pull request source diffs, coding standard schemas, repository file trees | Detect structural defects, anti-patterns, security vulnerabilities, and code smells | Granular inline review comments tagged with deterministic severity labels |
Test Generation Agent | Modified source files, existing regression test suites, dynamic coverage telemetry | Identify test coverage gaps and design edge-case test vectors | Synthesized unit/integration test cases and coverage improvement paths |
Architectural Consistency Agent | Architectural Decision Records (ADRs), module dependency graphs, system boundaries | Detect structural drift, cyclic dependencies, and architectural boundary violations | Non-compliance warnings and dependency graph violation alerts |
Technical Debt Observer | Historical commit logs, issue tracker backlogs, static maintainability index metrics | Identify localized debt accumulation and recurring structural decay patterns | Quantitative technical debt scores coupled with qualitative impact narratives |
Orchestrator Agent | Distributed payloads from specialized sub-agents, global system policies, engineer profiles | Synthesize sub-agent outputs, resolve conflicting directives, and rank telemetry | A unified, prioritized developer feedback report optimized for human cognitive load |
5.2. Workflow
The operational loop of the Software Quality Companion begins when a developer opens a pull request. This event triggers the Orchestrator Agent to ingest the pull request metadata, change diffs, linked issues, and recent commit histories. Immediately after ingestion, the orchestrator retrieves the relevant project context (coding conventions, past pull request outcomes, active architectural decision records and other relevant project artifacts) from the shared context memory.
To minimize evaluation latency, the orchestrator dispatches these payloads concurrently to the specialized sub-agents. The complete operational loop and concurrent message routing of this multi-agent framework are illustrated in Figure 3. The Code Review Agent parses the raw diffs to identify syntax flaws and security vulnerabilities. Simultaneously, the Test Generation Agent evaluates current code coverage and synthesizes test vectors for newly introduced logical branches. The Architectural Consistency Agent checks compliance against system boundaries, while the Technical Debt Observer calculates whether the modification introduces structural decay.
While this concurrent execution is highly efficient, deploying specialized agents with distinct analytical objectives inevitably leads to conflicting evaluations. In production environments, a primary challenge is resolving these disagreements without human intervention at every step. For example, consider a pull request where a developer modifies a high-throughput database query. The Code Review Agent, focusing strictly on local performance and security, might flag the query for missing an index or suggest breaking it down into smaller, sequential queries to prevent database locks. At the same moment, the Architectural Consistency Agent, checking the system against established microservice boundaries and Domain-Driven Design principles, might reject any modification that introduces synchronous data fetching across service boundaries, recommending instead an asynchronous, event-driven approach.
To resolve such architectural deadlocks, the Orchestrator Agent employs a deterministic priority matrix rather than relying on loose heuristic prompting. In this database query scenario, the orchestrator acts as a mediator using a strict hierarchy of constraints.
Figure 3. Multi-Agent Software Quality Companion Workflow Topology
Since domain-boundary compliance (Level 2) ranks higher than local query optimization (Level 3), the orchestrator automatically overrides the Code Review Agent's recommendation to execute sequential queries. It does not simply discard the lower-priority suggestion; instead, it synthesizes the feedback. The final unified report informs the developer that while the local optimization suggested by the Code Review Agent is valid, it violates the active architectural constraint of asynchronous service decoupling. The orchestrator then presents a revised recommendation: implementing an outbox pattern with an asynchronous message queue, which satisfies the architectural boundary while mitigating the performance risks flagged during code review.
Once the orchestrator filters and prioritizes these overlapping findings, it generates a single, coherent feedback report. This report is posted directly to the pull request interface, displaying categorized severity levels and explicit technical justifications. This structured approach prevents notification fatigue, ensuring developers only intercede when manual architectural decisions are strictly necessary.
5.3. Governance Controls in the Use-Case
The software quality companion operates under limited and auditable authority. By default, agents are restricted to read-only access regarding repositories, issue trackers, documentation, and CI/CD results. Write operations, such as posting comments, creating issues, modifying files, or triggering deployment-related workflows, require explicit developer approval.
The system applies least-privilege access to each agent role. The Test Generation Agent only accesses test files and coverage reports, whereas the Architectural Consistency Agent is restricted to design documentation and dependency graphs. Tool access remains strictly regulated through allowlists, and every planned action, retrieved context item, tool call, and recommendation is recorded in an immutable audit log to ensure transparency and accountability.
5.4. Evaluation Metrics
Any practical deployment should be evaluated from both technical and human collaboration perspectives. The goal is not only to maximize the number of comments generated by agents, but to improve review quality while reducing unnecessary burden on developers. To systematically quantify these dimensions, we establish a performance and safety evaluation framework, as detailed in Table 5.
Table 5.Multi-Dimensional Performance and Safety Evaluation Metrics
Evaluation Dimension | Core Metric Name | Metric Definition & Evaluation Objective |
Review Quality | Defect Detection Precision | The ratio of agent-identified software anomalies accepted as valid and actionable by human developers |
Review Usefulness | Developer Acceptance Rate | The empirical percentage of agent-generated refactoring recommendations actively merged into the codebase |
System Productivity | Review Turnaround Latency | The temporal duration between initial pull request creation and the delivery of the synthesized orchestrator report |
Reliability | Tool Invocation Failure Rate | The frequency of unhandled exceptions or malformed API calls within the agent execution layer |
Operational Safety | Policy Guardrail Violation Rate | The empirical frequency of agent execution blocks attempting actions that breach least-privilege controls |
Human Oversight | Manual Review Load | The total volume of gated agent actions requiring explicit human-in-the-loop intervention per time interval |
Long-Term Maintainability | Systemic Technical Debt Trend | The longitudinal trajectory of code maintainability scores following continuous multi-agent deployment |
Architectural Trust | Recommendation Reversal Rate | The frequency with which applied agent suggestions are subsequently reverted due to regressions |
5.5. Comparative Analysis: Systemic Advantages and Operational Constraints
Deploying the software quality companion improves human-AI collaboration by offering developers early feedback and allowing human reviewers to focus on high-level design decisions. The multi-agent structure improves explainability because each recommendation is linked to a specialized analytical perspective, such as testability, security, or architecture. However, the framework introduces specific operational constraints:
- Dependency on Context Quality: The utility of the recommendations depends directly on the accuracy of the repository context and project memory. Outdated architectural records or incomplete documentation can lead to misleading feedback.
- Coordination Overhead: Multi-agent coordination can introduce inconsistency if different agents assign conflicting severity levels to related issues, requiring constant maintenance of the orchestrator's priority schema.
- Cognitive Fatigue: Over-reporting non-critical issues can cause review fatigue. Consequently, the Orchestrator Agent must prioritize concise, evidence-backed, and actionable findings over sheer volume.
6. Discussion: Design Trade-Offs for Agentic Software Systems
The transition from AI tools to AI teammates introduces several design trade-offs. Autonomy versus controllability remains the central engineering trade-off. Higher autonomy can reduce human workload, but it also increases the potential impact of incorrect actions. Therefore, agent systems should not only be evaluated according to the amount of automation they provide but also according to how safely they operate within predefined authority boundaries.
Another important consideration concerns productivity and verification effort. Agents may accelerate code review, testing, and operational analysis, but their outputs still require validation. If an agent produces too many low-quality suggestions, the human verification burden may exceed the productivity gain. This makes precision, prioritization, and explanation quality important evaluation criteria.
Multi-agent specialization introduces additional coordination overhead. Multi-agent systems allow each agent to focus on a specific concern, such as testing, architecture, or technical debt. However, specialization also requires orchestration. Without clear role definitions and shared context schemas, multi-agent systems may generate redundant, inconsistent, or conflicting outputs.
Trust must be balanced against the risk of excessive reliance. Developers may gradually trust agents that provide useful recommendations, but excessive trust can become dangerous if users stop critically evaluating agent outputs. To prevent over-reliance, agent systems should expose confidence levels, evidence links, uncertainty statements, and clear boundaries of responsibility.
Finally, software teams should distinguish between short-term productivity gains and long-term maintainability. An agent that focuses only on immediate task completion may miss architectural consequences or technical debt accumulation. For this reason, agentic systems in software engineering should include both task-level evaluation and long-term quality metrics.
7. Conclusion
Autonomous AI agents represent a paradigm shift in software engineering, transitioning system architectures from passive model invocation to active, goal-oriented execution. Rather than treating these components as superficial chat interfaces or thin API wrappers, sustainable system design requires viewing them as stateful software entities capable of context perception, persistent memory management, dynamic planning, and tool execution.
The Software Quality Companion framework presented in this chapter demonstrates how such cooperative agentic networks can manage complex tasks, including automated code reviews, test-suite generation, architectural consistency checking, and technical debt monitoring. However, as this implementation illustrates, expanding agent autonomy without corresponding engineering boundaries introduces systemic operational risks. Establishing rigorous governance protocols (comprising explicit permissions, action gating, and continuous observability) remains a prerequisite for building reliable and trustworthy systems.
As agentic technologies mature, their integration into production environments will ultimately depend on rigorous software engineering discipline rather than raw model capabilities. Future systems will require well-defined agent responsibilities together with practical governance mechanisms. Appropriate authority boundaries, measurable evaluation criteria, and auditable execution logs will all contribute to trustworthy deployments.
Ultimately, the integration of autonomous agents into software architectures is not merely a pursuit of automation; it is an engineering challenge to make autonomous execution predictable, accountable, and collaborative within human teams.
ACKNOWLEDGEMENT
The authors have no acknowledgments to declare.
FUNDING
This research received no specific grant from any funding agency in the public, commercial, or not-for-profit sectors.
AUTHORS’ CONTRIBUTIONS
All authors contributed to the conceptualization, literature synthesis, manuscript drafting, critical revision, and final approval of the chapter.
CONFLICT OF INTEREST
The authors declare no conflict of interest.
DATA AVAILABILITY
No empirical dataset was generated or analyzed in this chapter.
ETHICAL STATEMENT
This chapter does not involve human participants, personal data, animal subjects, or experimental procedures requiring ethics committee approval.
DECLARATION OF AI USAGE
AI-based tools were used only for language refinement. The authors reviewed, verified, and approved the final content.
