Bug Hunting and Change Tracking:
Enhancing Our Development Process at The Mighty Joshua
Introduction
The journey to a robust bug tracking system at The Mighty Joshua began when I, as the creator, realized we needed a way to keep track of all micro changes being made or missed during development. Initially, there was no formal bug tracking system in place; instead, we relied on ad-hoc notes and AI-generated phase plans that proved unreliable.
Phased Progression
- Initial State
- Ad-Hoc Notes: Early development efforts were tracked using loose notes and informal communication.
- First Iteration (v0.3)
- Changelog and Roadmap Documents: We began maintaining a changelog and roadmap to track progress and changes, but these documents required significant manual effort to stay current and often became outdated.
- Current State (v0.4)
- Dynamic Timeline and Queue System: Our current system uses a dynamic timeline and a queue system for bug management. This integrates
OWNER_QUEUE.jsonto manage tasks, assign priorities, and ensure real-time updates.
This phased progression reflects our commitment to continuous improvement and aligns with our goal of creating a more efficient and transparent development environment.
Current Bug Hunting Process
- Dynamic Timeline: A real-time dashboard that tracks all changes and updates in one place.
- Queue System: Tasks are managed through a queue, ensuring that each issue is prioritized and addressed systematically.
Common Issues Encountered During This Process
- Delays in Reporting Bugs: Sometimes bugs were not reported promptly due to the manual nature of our previous methods.
- Miscommunication: Without a centralized system, there was often miscommunication about the status and resolution of issues.
Implementing a Solid Tracking System
Using OWNER_QUEUE.json
- Overview of how we are using
OWNER_QUEUE.jsonto manage bugs and tasks. - Steps for integrating with our current setup:
- Adding relevant fields (e.g., severity, status).
- Ensuring real-time updates via webhooks or API calls.
Integrating with Node/Express/EJS/Mongo
- How the tracking system will interact with our database.
- Example of how bug reports can be stored and accessed using Mongoose models.
Benefits of the New System
- Improved efficiency in identifying, reporting, and resolving bugs.
- Increased transparency and accountability within the team.
- Better documentation for future reference.
AI Integration
We have designed our timeline entries to be "AI-friendly" in format. This means that each entry is structured in a way that makes it easily digestible by our AI systems, enhancing their ability to understand and manage the workflow more intelligently over time.
- AI-Friendly Format: Each timeline entry includes relevant metadata such as
severity,status, andpriorityfields. - RAG System Integration: The dynamic timeline entries will feed into our RAG (Retrieval-Augmented Generation) system, making it more active and intelligent in managing the website workflow.
This integration ensures that AI can actively manage queues and provide real-time updates, improving overall efficiency and responsiveness.
Testing Plan
- Manual Testing
- Manual entry of sample bugs into
OWNER_QUEUE.json. - Verification that bug reports are properly stored and displayed.
- Automated Testing
- Write unit tests to ensure database integrity.
- Integration tests to confirm real-time updates via webhooks.
- User Acceptance Testing (UAT)
- Conduct UAT sessions with key team members.
- Gather feedback and make necessary adjustments.
Conclusion
- Recap key points.
- Next steps: deployment and ongoing maintenance.
This blog post covers the journey of improving our bug tracking system from ad-hoc notes to a dynamic timeline and queue system, emphasizing the benefits and AI integration.


