Managing Decisions
Learn how to create, review, accept, deprecate, search, tag, and manage decisions in the Hopsule Dashboard. Covers the full decision lifecycle and all available operations.
Introduction to Decision Management
In the Hopsule ecosystem, a decision is far more than a static record or a piece of text. It represents an explicit commitment made by an engineering team to follow a specific path, architectural pattern, or operational standard. Unlike traditional platforms where information is often lost in a sea of updates, Hopsule treats decisions as first-class, enforceable entities. This ensures that every choice made today remains visible and authoritative for the teams of tomorrow. Managing decisions effectively is the cornerstone of maintaining organizational judgment and preventing the erosion of technical standards over time.
The Hopsule Dashboard serves as the primary interface for the entire decision lifecycle. Within this environment, engineering leaders and developers can define the constraints that govern their projects, link them to the underlying reasoning stored in memories, and organize them into portable Context Packs. By centralizing these commitments, Hopsule transforms abstract agreements into actionable governance that surfaces directly in the developer's workflow through Hopsule for VS Code and Hopsule CLI.
Important: Hopsule operates on the philosophy that "Enforcement is remembrance, not control." The goal of managing decisions is not to restrict creativity, but to ensure that the team remembers why certain paths were chosen and remains consistent in their execution across different projects and timelines.
The Decision Lifecycle
Every decision in Hopsule follows a structured lifecycle designed to ensure rigorous review and clear authority. This lifecycle prevents half-baked ideas from becoming team standards while ensuring that outdated practices are explicitly retired rather than simply ignored. Understanding these states is essential for maintaining a clean and authoritative decision layer.
Draft State
The Draft state is the incubation phase for a decision. At this stage, the decision is visible to the creator and can be shared with specific collaborators for initial refinement. Drafts do not trigger enforcement in the IDE and are not included in active Context Packs. This allows authors to iterate on the technical reasoning, refine the scope of the decision, and gather preliminary feedback without impacting the wider organization’s workflow. Hopper, the built-in AI assistant, is particularly useful during this phase for suggesting improvements to the decision's clarity or identifying potential overlaps with existing entries.
Pending State
Once a draft is sufficiently mature, it is moved to the Pending state. This signifies that the decision is ready for formal review by the team or designated authorities. Moving a decision to Pending notifies relevant stakeholders and opens it for comments and critiques. In this phase, the decision is still not enforceable, but it represents a "proposal of record." The focus here is on achieving consensus and ensuring that the decision aligns with the broader organizational goals and existing memory entries.
Accepted State
A decision enters the Accepted state only after formal approval. This is the most critical transition in the Hopsule lifecycle. An Accepted decision becomes an active constraint. It is immediately synchronized with Hopsule for VS Code, where it will trigger warnings if code contradicts the decision’s parameters. Accepted decisions are the "law of the land" for a project or organization. They are automatically included in active Context Packs and serve as the authoritative reference for both human developers and AI agents connected via Hopsule MCP.
Deprecated State
Hopsule never deletes decisions. When a decision is no longer relevant—perhaps due to a shift in technology or a change in team structure—it is moved to the Deprecated state. This state requires the author to provide a "Deprecation Reason," which is linked to a new memory entry. Deprecation ensures that the history of why a choice was once made is preserved, even if the choice is no longer followed. Deprecated decisions stop triggering IDE warnings but remain searchable in the Hopsule Dashboard for historical context and traceability.
Creating a New Decision
Creating a decision in the Hopsule Dashboard is a deliberate process of capturing intent and context. To begin, navigate to the Decisions tab and click the Create Decision button. This opens the decision editor, where several key fields must be populated to ensure the decision is useful and enforceable.
Core Decision Fields
Title: A concise, imperative statement of the decision (e.g., "Use Functional Components for All New UI Logic").
Description: A detailed explanation of what the decision entails. This should be clear enough for a new team member to understand the constraint without external help.
Reasoning: This field is where you explain the "Why." It creates a permanent link to a memory entry. Good reasoning includes the alternatives considered and the specific trade-offs the team accepted.
Category: Used to group decisions by domain, such as "Architecture," "Security," "Performance," or "Workflow."
Priority: Ranges from
LowtoCritical. High-priority decisions may trigger more prominent warnings in the IDE or require stricter review processes.Tags: Arbitrary labels used for filtering and cross-referencing across different projects.
The Decision Editor
The Hopsule Dashboard features a rich text editor that supports markdown-style formatting and code snippets. When defining a decision, it is often helpful to include "Good" and "Bad" code examples to illustrate the constraint. Using the Code Block feature within the editor allows you to provide concrete patterns that Hopsule for VS Code can use to identify contradictions. You can also embed links to external resources or other Hopsule memories to provide a richer context for the decision.
Tip: You can ask Hopper to "Draft a decision based on our recent discussion about database indexing." Hopper will use your recent memory entries to pre-populate the title, description, and reasoning fields, which you can then refine manually.
Search and Discovery
As an organization grows, the number of decisions can become vast. Hopsule provides a powerful search and discovery engine to ensure that the right context is always available when needed. The Hopsule Dashboard offers several layers of filtering to help users navigate the decision layer.
Full-Text Search
The global search bar in the Hopsule Dashboard performs deep indexing across titles, descriptions, reasoning, and even the content of linked memories. This allows users to find decisions based on specific keywords or technical concepts, even if they don't know the exact title of the decision.
Advanced Filtering
To narrow down results, users can apply multiple filters simultaneously. These include:
State Filter: View only Accepted, Pending, or Deprecated decisions.
Tag Filter: Filter by specific labels like
#frontendor#api-design.Author Filter: Find decisions created or last modified by specific team members.
Date Range: Locate decisions made during a specific project phase or timeframe.
Category: Isolate decisions belonging to a specific functional area of the organization.
Tip: Saved filters can be used to create custom views in the Hopsule Dashboard, allowing team leads to quickly monitor all "Pending" decisions that require their review.
Version History and Traceability
One of the core tenets of Hopsule is that "Organizations forget." To combat this, every decision maintains a complete, immutable version history. Whenever a decision is modified—whether it is a change to the description or a transition in state—Hopsule records the change as a new version.
Viewing Diffs
Within the decision detail view, users can access the History tab to see a chronological list of all changes. Clicking on any two versions allows you to view a side-by-side diff, highlighting exactly what was added, removed, or changed. This is invaluable for understanding how a team's standards have evolved over time and for auditing changes during compliance reviews.
Traceability to Memories
Every version of a decision is linked to the memories that informed it. If a decision is updated because of a lesson learned during a post-mortem, that memory is permanently attached to the new version of the decision. This creates a "Paper Trail of Logic" that ensures no decision ever exists in a vacuum. When a developer sees a warning in Hopsule for VS Code, they can follow the link back to the Hopsule Dashboard to see the entire history of how that decision came to be.
Conflict Detection and Management
As more decisions are added to the system, the risk of contradictions increases. Hopsule includes an automated conflict detection system that analyzes your decision layer for logical inconsistencies. This is not a simple keyword check; it is a context-aware analysis of the constraints defined within your decisions.
How Conflicts are Identified
When a new decision is moved to the Pending or Accepted state, Hopsule’s background processes compare the new constraints against existing Accepted decisions. If a conflict is detected—for example, one decision mandates "Standardize on REST for internal APIs" while another suggests "Use gRPC for all service-to-service communication"—the Hopsule Dashboard will flag both decisions with a Conflict Warning.
Resolving Conflicts
Conflicts must be resolved by a human authority. The dashboard provides a specialized view to compare conflicting decisions side-by-side. To resolve a conflict, a user typically has three options:
Modify: Edit one or both decisions to clarify their scope and remove the overlap.
Deprecate: Retire the older or less relevant decision in favor of the new one.
Acknowledge: In rare cases where a conflict is intentional (e.g., a specific project exception), the conflict can be acknowledged with a mandatory reasoning entry explaining why the contradiction is allowed to persist.
Bulk Operations
For large-scale organizational changes, the Hopsule Dashboard supports bulk operations. This allows administrators to manage hundreds of decisions efficiently without repetitive manual tasks. Users can select multiple decisions from the list view and apply the following actions:
Operation | Description | Common Use Case |
|---|---|---|
Change State | Move multiple decisions to Accepted or Deprecated at once. | Retiring an entire technology stack or approving a batch of reviewed proposals. |
Add/Remove Tags | Apply or strip labels from a selection of decisions. | Reorganizing the decision layer or preparing for a project migration. |
Assign to Capsule | Add selected decisions to a specific Context Pack. | Creating a "Security Baseline" capsule from existing disparate decisions. |
Export | Download selected decisions in a portable format. | Generating compliance reports or sharing decisions with external partners. |
Decision Templates
To maintain consistency in how decisions are documented, Hopsule supports Decision Templates. Templates provide a pre-defined structure for different types of decisions, ensuring that authors don't forget to include critical information like performance implications or security considerations.
Organizations can create custom templates for common scenarios, such as "New Library Adoption," "API Design Change," or "Infrastructure Provisioning." When a user creates a new decision, they can select a template to pre-fill the editor with specific headings and prompts. This standardization makes it much easier for reviewers to evaluate decisions, as the information is always presented in a familiar format.
Linking and Relationships
Decisions rarely exist in isolation. They are often part of a larger web of architectural choices. Hopsule allows you to explicitly link decisions to one another to represent these relationships. There are three primary types of links:
Depends On: Indicates that Decision A requires Decision B to be in place. (e.g., "Use OAuth2" depends on "Implement Centralized Identity Provider").
Relates To: A general association where two decisions cover similar ground but are not strictly dependent.
Supersedes: Used when a new decision completely replaces an older one. This link is automatically created when a decision is deprecated in favor of a new entry.
These relationships are visualized in the Knowledge Graph (also known as the Brain). The Brain provides a bird's-eye view of your organization's decision layer, allowing you to see clusters of decisions and identify "bottleneck" decisions that many others depend on. This visualization is a powerful tool for impact analysis when considering a change to a foundational standard.
Permissions and Governance
Governance is built into the core of Hopsule. Not every user has the same level of authority over the decision layer. Permissions are managed through roles, which can be assigned at the organization or project level.
Standard Roles
Viewer: Can read all Accepted and Deprecated decisions. Can view the Knowledge Graph but cannot create or modify entries.
Contributor: Can create Drafts and move them to the Pending state. Can comment on decisions and participate in reviews.
Maintainer: Can move decisions to the Accepted or Deprecated state. Can resolve conflicts and manage Context Packs.
Admin: Full control over the Hopsule Dashboard, including user management, role assignments, and organization-wide settings.
Important: In Hopsule Enterprise, these permissions can be further refined to require multiple "Maintainer" approvals before a decision can be moved to the Accepted state, enabling a formal "Decision Review Board" workflow.
Exporting and Portability
While the Hopsule Dashboard is the primary home for your decisions, Hopsule is designed with portability in mind. Decisions are meant to survive changes in tools and people. You can export your decisions at any time in several formats:
JSON: A machine-readable format ideal for custom integrations or programmatic analysis via the Hopsule API.
Markdown: A human-readable format that can be easily shared or included in other internal systems.
PDF: A formatted document suitable for formal audits, compliance filings, or executive reporting.
Context Packs (.capsule): The native Hopsule format for bundling decisions and memories. These can be imported into other Hopsule instances or shared with AI agents to provide instant context.
The ability to export ensures that your organizational memory is never "locked in" to a single platform. Hopsule acts as the steward of your decisions, but you remain the ultimate owner of your technical history and judgment.
Conclusion
Managing decisions in Hopsule is an ongoing practice of organizational mindfulness. By utilizing the Hopsule Dashboard to move decisions through their lifecycle, link them to deep reasoning, and organize them into Context Packs, engineering teams can ensure their most important choices are preserved and enforced. This practice reduces technical debt, accelerates onboarding, and ensures that the "Why" behind every line of code is never more than a click away. For more information on how decisions are surfaced to developers, see the documentation on Hopsule for VS Code and the Hopsule CLI.