Quadratique Docs
Organize sub-issues and dependencies
Use sub-issues to describe the structure of work. Use blocking relationships to describe the order in which otherwise separate issues can proceed.
These relationships answer different questions:
- Sub-issue: What smaller work makes up this issue?
- Blocked by: What other issue must move before this one can proceed?
- Blocks: What work is waiting on this issue?
Build an issue hierarchy
Open an issue and select Add sub-issue. A sub-issue can have children of its own, so large work can be decomposed to the depth it needs.
An issue with direct children shows progress based on those direct children only. Work deeper in the tree contributes through its immediate parent rather than being counted twice.
Reorganize a hierarchy
You can:
- move an issue and its entire subtree beneath another parent;
- promote a sub-issue to the top level; and
- turn a top-level issue into a sub-issue.
Moving an issue preserves its descendants and its other properties.
Quadratique rejects a parent change when an issue would become its own parent or one of its descendants would become its parent. The existing hierarchy stays unchanged.
Add a blocking relationship
From either issue, add the relationship in the direction that matches your intent:
- Deploy checkout is blocked by Fix checkout tests, or
- Fix checkout tests blocks Deploy checkout.
Both statements create the same relationship. Quadratique displays it from both issues and flags the waiting issue as blocked. Repeating the relation from the other direction does not create a duplicate.
Remove a blocking relationship
Remove the relationship from either issue. It disappears from both issues. The blocked indicator clears when the issue has no remaining blockers.
Cycles are not allowed
An issue cannot block itself. Quadratique also rejects a relationship that would create a cycle, such as making C block A when A already blocks B and B blocks C. Existing valid relationships remain intact.