Skip to content

New Module: ai-lifecycle — AI/ML project lifecycle agentic team - #17

Open
avielbl wants to merge 3 commits into
bmad-code-org:mainfrom
avielbl:add-ai-lifecycle
Open

New Module: ai-lifecycle — AI/ML project lifecycle agentic team#17
avielbl wants to merge 3 commits into
bmad-code-org:mainfrom
avielbl:add-ai-lifecycle

Conversation

@avielbl

@avielbl avielbl commented May 4, 2026

Copy link
Copy Markdown

New Module Submission

Module: ai-lifecycle
Repository: https://github.com/avielbl/ai-lifecycle
Version: v4.0.0
Author: Aviel
License: MIT


What it does

A structured agentic team of 5 specialist agents that guide an AI/ML project from raw domain research through production inference:

  • Alex (Domain Expert) — domain research, Research Thesis, PRD, revision audits
  • Sam (Data Engineer) — EDA, data quality, baseline
  • Maya (Researcher) — architecture, experiment design, analysis, retrospectives
  • Kai (Developer) — TECHSPEC contracts, training/eval pipelines, inference
  • Jordan (Engineer) — training runs, HPO across any paradigm

Works across deep learning, gradient boosting (XGBoost/LightGBM), transformers, fine-tuning, and classical ML.

Checklist

  • Built using BMad Builder standards (bmad-manifest.json per agent, SKILL.md frontmatter, module.yaml)
  • Validation CI passes (validate_skills.yml on PRs)
  • Published to GitHub with .claude-plugin/marketplace.json
  • Tagged release: v4.0.0 (6c992499636c0a53b4f4ae6f30ab8cfbd17ea9cc)
  • Category: ai-and-machine-learning / mlops

Summary by CodeRabbit

  • New Features
    • Added the ai-lifecycle community module to the registry, covering domain research through production deployment.
    • Updated the module to version 5.1.0.
    • The module remains unverified, pending review, and is not selected by default.

@coderabbitai

coderabbitai Bot commented May 4, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: ad51d8e6-2ef7-4c9f-8943-fcc00f9772b6

📥 Commits

Reviewing files that changed from the base of the PR and between ceb9a0d and 66ee448.

📒 Files selected for processing (1)
  • registry/community/ai-lifecycle.yaml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

The community registry entry for ai-lifecycle defines module metadata and updates its governance fields to version 5.1.0. The entry remains unverified, pending review, and not selected by default.

Changes

Community Module Registry Entry

Layer / File(s) Summary
Module identity and metadata
registry/community/ai-lifecycle.yaml
Registers ai-lifecycle with code ai, display metadata, repository details, module definition, author, license, classification, and keywords. The description now refers to production deployment.
Approval and version governance
registry/community/ai-lifecycle.yaml
Sets version 5.1.0, approved tag v5.1.0, approved SHA, trust tier unverified, approval date 2026-09-01, and reviewer status pending. Default selection remains disabled.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 66ee4

This PR adds and updates registry metadata for the ai-lifecycle module without introducing a concrete correctness, security, availability, or deployment risk; no actionable merge-blocking risk remains after normal checks and review.

Poem

A rabbit records the module with care,
ai-lifecycle now has its place there,
Version five-point-one marks the trail,
Pending review guards the registry gate,
And unverified flags quietly wait.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the addition of the ai-lifecycle module and accurately describes its AI/ML project lifecycle focus.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@registry/community/ai-lifecycle.yaml`:
- Around line 22-27: This entry mixes unverified status with filled approval
metadata: update the fields so they are consistent—either set trust_tier to a
reviewed value (e.g., community-reviewed or bmad-certified) and replace reviewer
with the reviewer’s GitHub handle while keeping approved_tag, approved_sha, and
approved_date, or clear approved_tag, approved_sha, approved_date and set
reviewer to an empty string (or remove it) while leaving trust_tier: unverified;
adjust the trust_tier, reviewer, and approved_* fields accordingly to remove the
semantic contradiction.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8a592410-0fe6-4884-866b-56d2bb63ad82

📥 Commits

Reviewing files that changed from the base of the PR and between b1cc5e3 and ceb9a0d.

📒 Files selected for processing (1)
  • registry/community/ai-lifecycle.yaml

Comment thread registry/community/ai-lifecycle.yaml Outdated
Comment on lines +22 to +27
version: "4.0.0"
approved_tag: v4.0.0
approved_sha: 6c992499636c0a53b4f4ae6f30ab8cfbd17ea9cc
trust_tier: unverified
approved_date: "2026-05-04"
reviewer: pending

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== reviewer schema =="
rg -n "reviewer:" registry/registry-schema.yaml

echo "== trust_tier schema =="
rg -n "trust_tier:" registry/registry-schema.yaml

echo "== community module approval fields section =="
rg -n "approved_tag|approved_sha|approved_date" registry/registry-schema.yaml

echo "== dump this registry entry =="
python - <<'PY'
import sys, yaml, pathlib
p = pathlib.Path("registry/community/ai-lifecycle.yaml")
print(p)
print(p.read_text())
PY

echo "== optional: run any registry validation script if present =="
# Best-effort: detect a likely validator command
ls -la .
ls -la registry || true
ls -la .github || true
# If you have a script/Make target, run it here (adjust name if needed).

Repository: bmad-code-org/bmad-plugins-marketplace

Length of output: 2932


🏁 Script executed:

cat -n registry/registry-schema.yaml

Repository: bmad-code-org/bmad-plugins-marketplace

Length of output: 3512


🏁 Script executed:

ls -la .github/scripts/
fd -t f validator registry

Repository: bmad-code-org/bmad-plugins-marketplace

Length of output: 260


Semantic contradiction: trust_tier: unverified with populated approved_* fields and reviewer: pending.

The registry schema comments (lines 80-84 of registry-schema.yaml) explicitly document that reviewer should be a "GitHub handle of reviewer" and that approved_tag, approved_sha, approved_date are required for community modules. However, this entry uses reviewer: pending (not a GitHub handle) and populates all approved_* fields while simultaneously setting trust_tier: unverified. This contradicts the documented intent that approval fields should only be populated for verified/reviewed entries.

Either set trust_tier to an appropriate value (e.g., community-reviewed or bmad-certified) if the module is approved, or leave the approved_* fields and reviewer empty/blanked and set trust_tier: unverified to indicate pending review. Do not mix unverified status with populated approval metadata.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@registry/community/ai-lifecycle.yaml` around lines 22 - 27, This entry mixes
unverified status with filled approval metadata: update the fields so they are
consistent—either set trust_tier to a reviewed value (e.g., community-reviewed
or bmad-certified) and replace reviewer with the reviewer’s GitHub handle while
keeping approved_tag, approved_sha, and approved_date, or clear approved_tag,
approved_sha, approved_date and set reviewer to an empty string (or remove it)
while leaving trust_tier: unverified; adjust the trust_tier, reviewer, and
approved_* fields accordingly to remove the semantic contradiction.

@avielbl

avielbl commented May 4, 2026

Copy link
Copy Markdown
Author

The CodeRabbit finding is a false positive. The CONTRIBUTING.md submission template explicitly shows this exact pattern — trust_tier: unverified with populated approved_tag, approved_sha, approved_date, and reviewer: pending — as the correct format for a new community submission awaiting review. The existing suno-band-manager entry in the registry follows the same pattern. No change needed.

@bmadcode

bmadcode commented May 6, 2026

Copy link
Copy Markdown
Contributor

@avielbl thank you - team is reviewing!

@bmadcode

Copy link
Copy Markdown
Contributor

@avielbl I spot checked a few things and there are missing file references that various skills are told to run - you will want to probably scan with claude or similar for references across skills that are referencing something that does not existing within the skill

@avielbl

avielbl commented May 18, 2026

Copy link
Copy Markdown
Author

Good catch — thanks. Scanned every SKILL.md and workflow .md across the six skills plus scripts/init_project.py. Found and fixed four issues:

  1. scripts/init_project.py — three broken .parent.parent walks. The script was moved from bmad-dl-scaffold/scripts/ up to scripts/ in the v4.0.0 rename, but the path-traversals in register_in_bmad_help, copy_claude_skills, and copy_scripts were never shortened. They were resolving one level above the repo root, so module_root.glob("ai-agent-*/") matched nothing — meaning slash commands and helper scripts silently never got installed on a fresh project. Fixed: skill_dir.parent.parentskill_dir.parent in all three call sites.
  2. Deleted template still referenced. scripts/init_project.py:318 pointed at configs/llm_config.yaml.template, which was removed in the same v4.0.0 commit along with the old bmad-dl-scaffold skill. Users have been getting the inline fallback ("template not found") every time. Restored the template from git history as scripts/llm_config.yaml.template and updated the path.
  3. get_next_task.py docstring numbered the design doc as 03_Detailed_Design.md, but every other workflow file (researcher/detailed-design, developer/techspec, developer/infra, domain-expert/revision-audit) uses 04_Detailed_Design.md. Aligned to 04_.
  4. ai-agent-data-engineer/eda.md told the agent to "refer to the template in the original ai-lifecycle EDA documentation" without pointing at any file. Replaced that dangling pointer with an inline section outline so the agent has a self-contained spec for 02_EDA_Report.md.

Pushed as avielbl/ai-lifecycle@1425015. Test suite (20 tests) still passes. Please re-pull when you get a chance and let me know if anything else looks off.

@avielbl

avielbl commented May 27, 2026

Copy link
Copy Markdown
Author

@bmadcode, have you had the chance to review my latest corrections per your comments?

@avielbl

avielbl commented Jun 14, 2026

Copy link
Copy Markdown
Author

@avielbl I spot checked a few things and there are missing file references that various skills are told to run - you will want to probably scan with claude or similar for references across skills that are referencing something that does not existing within the skill

Hi, I've addressed the raised issues regarding file references.
Can you please review again?

Thanks,
Aviel

@avielbl

avielbl commented Jul 5, 2026

Copy link
Copy Markdown
Author

Hi @bmadcode , any updates on this PR?

avielbl and others added 2 commits September 1, 2026 12:49
Pins the registry entry to tag v5.1.0 (sha 94f4b50). Since v4.0.0 the module
adds: Stage 9 deployment, per-project memory bank, literature review stage,
executed EDA notebooks, MCP-first internal-source integrations with air-gapped
support, review-gate conventions, prompt flavors (standard/guided), and
opencode/Copilot harness support. Description updated accordingly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@avielbl

avielbl commented Sep 1, 2026

Copy link
Copy Markdown
Author

@bmadcode The submission is now updated to v5.1.0 (tag pinned, SHA 94f4b50, branch synced with main). Since your May review, all flagged file references were fixed, and the module has since added Stage 9 deployment, a per-project memory bank, literature review, air-gapped/MCP integrations, and multi-harness support. The entry format follows the merged suno-band-manager pattern. Ready for re-review.

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.

2 participants