PHPackages                             navindbhudiya/module-catalogguard - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. navindbhudiya/module-catalogguard

ActiveMagento2-module[Admin Panels](/categories/admin)

navindbhudiya/module-catalogguard
=================================

CatalogGuard AI admin module — run catalog audits and review AI fix proposals from the Magento admin.

v0.1.1(today)01↑2900%MITPythonPHP &gt;=8.1CI passing

Since Jun 25Pushed todayCompare

[ Source](https://github.com/navindbhudiya-code/catalog-guard-ai)[ Packagist](https://packagist.org/packages/navindbhudiya/module-catalogguard)[ RSS](/packages/navindbhudiya-module-catalogguard/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (1)Versions (3)Used By (0)

CatalogGuard AI
===============

[](#catalogguard-ai)

> A LangGraph multi-agent system that audits a live **Magento 2 / Adobe Commerce** catalog, finds data-quality problems across 5 dimensions, and auto-fixes them with **human-in-the-loop approval** and a one-command rollback journal.

![CI](https://camo.githubusercontent.com/6f0010e5de24059f0713ce4617e90c2227aace65548fbd455c6ab62ac3174814/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f43492d6275696c642d2d76657269666965642d627269676874677265656e)![Coverage](https://camo.githubusercontent.com/bd2559870834446aadb2146cc3d469438b6bfff1ddc6fe7c9e3724bcc686b999/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f7265253230636f7665726167652d3130302532352d627269676874677265656e)[![License: MIT](https://camo.githubusercontent.com/08cef40a9105b6526ca22088bc514fbfdbc9aac1ddbf8d4e6c750e3a88a44dca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e737667)](LICENSE)

CatalogGuard AI never writes to your store without explicit approval. Every applied change is journaled so any fix batch can be reverted with a single command.

What it audits
--------------

[](#what-it-audits)

DimensionExamples**Duplicates**Exact &amp; near-duplicate products via embedding similarity (ChromaDB)**Attributes**Required attrs empty, wrong types, placeholders ("TBD"), missing images/weight**Content**Descriptions too short, keyword-stuffed, copied from feeds, HTML corruption**SEO**Missing/duplicate meta, length violations, missing alt text, thin content**Sanity**Zero categories, price=0 on enabled, special&gt;regular, enabled+zero-stockArchitecture
------------

[](#architecture)

 ```
flowchart TD
    S[Supervisor] --> E[ExtractorAgent]
    S --> D[DuplicateAgent]
    S --> A[AttributeAgent]
    S --> C[ContentAgent]
    S --> O[SEOAgent]
    S --> N[SanityAgent]
    S --> F[FixProposalAgent]
    F --> H[(Review Queue · HITL)]
    H --> P[ApplyAgent]
    P --> R[(Rollback Journal)]
```

      Loading Rule-based checks run **before** any LLM call (never spend a token on what a regex catches). LLM calls use structured outputs only and are traced in LangSmith. Provider is abstracted — Claude API ↔ AWS Bedrock is a config flag.

Quickstart
----------

[](#quickstart)

```
make install                                   # py3.11 venv + dev deps
cp .env.example .env                           # add Magento token + ANTHROPIC_API_KEY
make verify                                    # lint + types + compile + 100% core tests

python -m catalogguard extract                 # pull catalog -> SQLite (resumable)
python -m catalogguard audit --checks sanity,attributes,duplicates,seo
python -m catalogguard propose --checks seo    # generate AI fix proposals
python -m catalogguard serve                   # review UI at http://127.0.0.1:8000
python -m catalogguard apply --batch run-1     # apply APPROVED fixes (journaled)
python -m catalogguard rollback --batch run-1  # one-command revert
```

No API key? Set `CATALOGGUARD_LLM_PROVIDER=stub` to run the entire loop offline. Full walkthrough: **[docs/USER\_GUIDE.md](docs/USER_GUIDE.md)**.

CLI commands
------------

[](#cli-commands)

CommandPurpose`extract`Pull the catalog into the local SQLite cache (paginated, resumable).`audit`Scan cached products → `reports/report.{json,md}`.`propose`Audit + generate AI fix proposals into the review queue.`serve`FastAPI + HTMX review UI (approve / reject / edit / bulk-approve).`apply`Write APPROVED fixes to Magento with a rollback journal.`rollback`Restore the previous values of an applied batch.Eval scorecard
--------------

[](#eval-scorecard)

The differentiator: a synthetic broken-catalog generator (`catalogguard.evals.synthetic`) injects known defects to give ground truth, and we report precision/recall/F1 per dimension. Reproduce with `python evals/score.py`; CI fails on any F1 regression (`--check-baseline`).

DimensionPrecisionRecallF1Sanity1.001.001.00Attributes1.001.001.00Duplicates1.001.001.00SEO1.001.001.00> Rule-based checks are deterministic, so they recover every injected defect on the synthetic benchmark. LLM-scored content quality is evaluated separately with Ragas (faithfulness/length).

Engineering discipline
----------------------

[](#engineering-discipline)

- **Build-verified:** `make verify` = ruff + mypy --strict + byte-compile + import-layering + pytest.
- **100% core coverage**, enforced in CI (`fail_under = 100`).
- **Traceable:** every requirement maps to code → test → eval in [`docs/TRACEABILITY.md`](docs/TRACEABILITY.md); CI fails if a requirement has no test.
- **Logged:** structured JSON runtime logs + token-cost ledger; build history in [`docs/build-log.md`](docs/build-log.md).
- **Decisions** recorded as ADRs in [`docs/decisions/`](docs/decisions/).

Roadmap
-------

[](#roadmap)

- ✅ **v0.1** — extract + audit (5 dimensions) + HITL review + apply/rollback + Magento admin module
- v0.2 — ChromaDB embedding index by default, LangSmith dashboards, Packagist release
- v0.3 — scheduled audits, Slack notifications, multi-store support

License
-------

[](#license)

MIT © NavinDBhudiya

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance100

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

0d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/18b8c30f0537efcf8a0ce7b3862b904922f7a962509115577cba8761463cc4af?d=identicon)[navindbhudiya](/maintainers/navindbhudiya)

---

Top Contributors

[![navindbhudiya-code](https://avatars.githubusercontent.com/u/246432367?v=4)](https://github.com/navindbhudiya-code "navindbhudiya-code (13 commits)")

### Embed Badge

![Health badge](/badges/navindbhudiya-module-catalogguard/health.svg)

```
[![Health](https://phpackages.com/badges/navindbhudiya-module-catalogguard/health.svg)](https://phpackages.com/packages/navindbhudiya-module-catalogguard)
```

###  Alternatives

[magepal/magento2-guest-to-customer

Quickly and easily convert existing guest checkout customers to registered customers.

68178.6k](/packages/magepal-magento2-guest-to-customer)[mage-os/theme-adminhtml-m137

M137 Admin Theme

36190.9k](/packages/mage-os-theme-adminhtml-m137)[smile/module-seller

Smile Retailer Suite - Seller Module

13539.8k4](/packages/smile-module-seller)[markshust/magento2-module-ordergrid

The Order Grid module adds more details to the order grid in the admin.

9186.1k](/packages/markshust-magento2-module-ordergrid)[mage-os/module-inventory-reservations-grid

Add a grid with the list of inventory reservations.

1512.6k](/packages/mage-os-module-inventory-reservations-grid)[loki/magento2-admin-components

Admin Panel grids and forms created via Loki Components

173.7k7](/packages/loki-magento2-admin-components)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
