Skip to content

Engineering workflows #80

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Conversation

ambitious-octopus
Copy link
Member

@ambitious-octopus ambitious-octopus commented Jul 7, 2025

🛠️ PR Summary

Made with ❤️ by Ultralytics Actions

🌟 Summary

The development workflow documentation for Ultralytics has been completely overhauled, introducing detailed engineering standards, security protocols, review processes, and a structured software development life cycle (SDLC) to guide all contributors. 🚀🔒

📊 Key Changes

  • Comprehensive Engineering Guidelines: Added clear principles on code quality, security, collaboration, and transparency.
  • Mandatory Code Review Policies: Defined strict requirements for code reviews, including multi-reviewer rules for critical changes.
  • Security Standards: Outlined security review processes, best practices, and when additional scrutiny is required.
  • Documentation & Testing Standards: Set expectations for code documentation, architecture diagrams, and both automated/manual testing.
  • Structured SDLC: Introduced a seven-phase SDLC tailored for computer vision and AI projects, with security checkpoints at every stage.
  • CI/CD Pipeline Standards: Detailed automated quality gates, security scans, and deployment best practices.
  • Knowledge Sharing & Mentorship: Encouraged internal communication, mentorship, and continuous learning.
  • Incident Response & Compliance: Provided clear procedures for bug reporting, emergency handling, and regulatory compliance.
  • FAQ Section: Addressed common questions about code review, urgent fixes, reviewer expertise, and supporting tools.
  • Technical Enhancement: Enabled Mermaid diagrams in documentation for clearer visual workflows.

🎯 Purpose & Impact

  • Higher Code Quality & Security: Ensures all contributions meet rigorous standards, reducing bugs and vulnerabilities. 🛡️
  • Consistency Across Teams: Aligns all contributors with unified workflows, making collaboration smoother and onboarding easier.
  • Transparency & Accountability: Clear documentation and review processes foster trust and shared responsibility.
  • Faster, Safer Releases: Automated testing and deployment practices minimize downtime and speed up delivery.
  • Empowered Community: Contributors have access to best practices, mentorship, and clear guidelines, making it easier to get involved and grow. 🌍
  • Future-Proofing: The living document approach ensures the handbook evolves with new technologies and team needs.

This update marks a major step forward in professionalizing and securing Ultralytics engineering practices, benefiting both internal teams and the wider open-source community.

@ambitious-octopus ambitious-octopus self-assigned this Jul 7, 2025
Copy link

vercel bot commented Jul 7, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
handbook ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 13, 2025 9:49pm

@ambitious-octopus ambitious-octopus marked this pull request as draft July 7, 2025 08:46
@UltralyticsAssistant UltralyticsAssistant added devops GitHub Devops or MLops documentation Improvements or additions to documentation enhancement New feature or request labels Jul 7, 2025
@UltralyticsAssistant
Copy link
Member

👋 Hello @ambitious-octopus, thank you for submitting an ultralytics/handbook 🚀 pull request! This is an automated response to help ensure your contribution integrates smoothly. An Ultralytics engineer will review your PR in detail soon.

Please review this checklist to make sure everything is in order:

  • Define a Purpose: Clearly explain the purpose of your changes in your PR description, and link to any relevant issues. Ensure your commit messages are clear, concise, and follow project conventions.
  • Synchronize with Source: Make sure your PR is up to date with the ultralytics/handbook main branch. If needed, update by clicking 'Update branch' or by running git pull and git merge main locally.
  • Ensure CI Checks Pass: Check that all Ultralytics Continuous Integration (CI) checks are passing. Please address any failing checks.
  • Update Documentation: Update the relevant documentation for any new or modified features.
  • Add Tests: If applicable, include or update tests to cover your changes, and confirm that all tests pass.
  • Sign the CLA: If this is your first Ultralytics PR, please sign our Contributor License Agreement (CLA) by commenting "I have read the CLA Document and I sign the CLA" in this thread.
  • Minimize Changes: Please limit your changes to the minimum necessary for your enhancement or fix. "It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is." — Bruce Lee

For further guidance, check out our Contributing Guide. If you have any questions, feel free to leave a comment here. Thank you for contributing to Ultralytics! 🌟🛠️

Copy link
Member Author

@ambitious-octopus ambitious-octopus left a comment

Choose a reason for hiding this comment

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

Action Items:

  • Role Structure & Assignment: @ambitious-octopus @kayselmecnun Implement engineering role separation with clear responsibilities Establish triage assignment process and ownership

  • Asset Management Review: @ambitious-octopus @kayselmecnun Conduct comprehensive asset management audit, Review current asset tracking and maintenance procedures

  • Documentation Review: @zkontri and @sokrisba to review and update current documentation. Ensure alignment with new role structure and processes.

**Security Testing**:

- Dynamic Application Security Testing (DAST)
- Penetration testing for web interfaces
Copy link
Contributor

Choose a reason for hiding this comment

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

Policy Scope:
Is this policy intended exclusively for the YOLO team, or does it also apply to the HUB team?

Penetration Testing Requirements:
If this policy applies only to the YOLO team, should we include penetration testing requirements? Including this requirement means we must conduct penetration testing and provide supporting evidence to aditors.

Your [contributions](https://docs.ultralytics.com/help/contributing/) and feedback drive us to keep improving and refining the way we work at Ultralytics. Stay tuned as we roll out the complete handbook to help you engage, contribute, and align with our mission and values.
**Policy**: Every pull request (PR) must receive approval from at least one qualified reviewer before merging.

**Rationale**: This requirement mitigates the risk of undetected bugs, security vulnerabilities, and architectural issues by preventing single-person code approvals. No individual, regardless of experience level or position, should merge code without independent review.
Copy link
Contributor

Choose a reason for hiding this comment

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

For ISO 27001 compliance, this policy requires expansion to include description of the vulnerability management processes.

ISO 27001 specifically mandates:
"Provide documentation outlining the process for identifying, tracking, and remediating vulnerabilities using external threat intelligence sources."

Required Documentation Must Include:

  • Procedural documentation describing how vulnerability scan results are reviewed and incorporated into threat analysis
  • Evidence of monitoring external threat intelligence sources (vendor alerts, RSS feeds, security bulletins)
  • Clear examples of vulnerability prioritization and remediation processes, including ticketing workflows and remediation reports

Recommended Enhancements:

I suggest extending this policy to include:

  • Discovery methods
  • Service Level Agreements (SLAs) with severity-based timelines
  • Remediation Process

Reference Materials:

As good examples, you can use:


This placeholder page is just the start. Soon, you’ll have access to:
- **Code Quality**: We write clean, maintainable, and well-documented code that stands the test of time
- **Security First**: We implement security best practices at every stage of development
Copy link
Contributor

Choose a reason for hiding this comment

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

To align with industry best practices, I would add reference to established security frameworks to demonstrate our commitment to following recognized security practices and provides development teams with clear, industry-accepted guidance:

OWASP Secure Development Principles - for implementing security controls throughout the software development lifecycle
OWASP Top 10 Vulnerability Awareness - for maintaining current knowledge of the most critical web application security risks


## Secure Software Development Life Cycle (SDLC)

The YOLO team follows a structured, security-focused SDLC framework that ensures consistent quality, security, and maintainability across all development phases. This framework is specifically tailored for computer vision and AI model development while maintaining enterprise-grade security standards.
Copy link
Contributor

Choose a reason for hiding this comment

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

Just a quick suggestion - if this policy is meant to apply to the entire development team (both YOLO & PLATFORM), it is better to change it to 'The Ultralytics development team follows a structured, security-focused SDLC...'

@glenn-jocher
Copy link
Member

Thanks for the review comments @zkontri!

@sokrisba sokrisba marked this pull request as ready for review August 6, 2025 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devops GitHub Devops or MLops documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants