Introduction

In high-velocity engineering organizations, the gap between a high-level architectural decision and the actual implementation in code is where technical debt and architectural drift often begin. Hopsule for VS Code is designed to bridge this gap by bringing the team’s collective authority directly into the development environment. This article provides an exhaustive guide on how to identify, understand, and resolve conflicts when your code deviates from the accepted decisions stored within your Hopsule memory system.

The core philosophy of Hopsule is that enforcement is remembrance, not control. By surfacing conflicts in your editor, Hopsule ensures that every developer is aware of the organizational judgment that governs the project. Whether you are working solo or as part of a global engineering team, managing these conflicts is the primary way you interact with the Hopsule governance layer during the active coding phase of your lifecycle.

Prerequisites

Before you can begin managing conflicts within your editor, ensure you have completed the following setup requirements:

  • Active Hopsule Account: You must have an account and be a member of an organization within the Hopsule Dashboard.

  • Hopsule for VS Code Installed: The extension must be installed from the marketplace and enabled in your workspace.

  • Authentication: You must be authenticated. This is typically handled by generating an access token in the User Settings section of the Hopsule Dashboard and providing it to the extension or via the Hopsule CLI.

  • Active Context Packs: Your project must be linked to at least one Context Pack (Capsule) that is in the Active state. Decisions in the Draft or Pending state do not trigger enforcement warnings.

  • Accepted Decisions: Enforcement only applies to decisions that have reached the Accepted status. Deprecated or Draft decisions will not generate conflict markers.

Understanding Conflict Detection

Hopsule for VS Code operates as a silent sentinel for your project's architectural integrity. It continuously monitors your workspace, comparing the structure and patterns of your code against the constraints defined in your active Context Packs. It is important to note that this process is entirely local; Hopsule respects your data sovereignty and does not send your source code to external servers for analysis. Instead, the enforcement engine uses the decisions and memories synced to your local environment to perform real-time validation.

When a conflict is detected, it represents a contradiction between the current state of the code and an Accepted Decision. These are not mere "linting errors" or "style suggestions"; they are violations of the explicit commitments your team has agreed to follow. By surfacing these contradictions, Hopsule prevents the "silent forgetting" that leads to fragmented systems and inconsistent implementations.

Visual Indicators of Conflicts

Hopsule utilizes several UI elements within VS Code to ensure that conflicts are visible without being intrusive:

  1. The Remembrance Gutter: Small icons appear in the editor gutter next to line numbers where a decision conflict has been identified.

  2. Inline Squiggles: Contradictory code blocks are highlighted with subtle squiggly lines. Hovering over these lines will reveal a Hopsule tooltip containing the Decision title and the associated Memory entries that explain the reasoning behind the constraint.

  3. Hopsule Sidebar Tree View: The Conflict Explorer in the Hopsule sidebar provides a centralized list of all active conflicts in your current workspace, categorized by file and by Decision.

  4. Problems Provider: Conflicts are also piped into the standard VS Code Problems panel, allowing you to navigate through them using standard keyboard shortcuts.

The Conflict Resolution Workflow

When you encounter a conflict, you have three primary paths: alignment, consultation, or override. Each path serves a specific purpose in the lifecycle of organizational memory and decision-making.

Step 1: Identifying the Conflict

Start by opening the Hopsule Sidebar in VS Code. Locate the Conflicts section. Here, you will see a list of files that currently contain code contradicting your team's decisions. Clicking on a file or a specific conflict entry will take you directly to the relevant line in the editor.

Step 2: Reviewing the Decision and Memory

Once you are at the location of the conflict, hover your cursor over the highlighted code. A tooltip will appear. This tooltip is a window into your organization’s past judgment. It will display:

  • Decision Title: The explicit commitment being violated.

  • Reasoning (Memories): A summary of the append-only memories linked to this decision. This explains *why* the decision was made, providing the context you need to understand the constraint.

  • Authority: The person or team who accepted the decision, ensuring you know who to contact if the decision requires further discussion.

Step 3: Consulting Hopper

If the reasoning behind a decision is unclear, or if you are unsure how to bring your code into alignment, you can invoke Hopper, the built-in AI assistant. Right-click the conflict and select "Ask Hopper about this conflict". Hopper will use the RAG-powered context from your Hopsule memories to explain the nuances of the decision and suggest potential refactoring paths. Remember, Hopper is advisory; it provides the context for you to exercise your own professional judgment.

Step 4: Choosing a Resolution Path

You must now decide how to proceed based on the context provided by Hopsule:

Path A: Aligning with the Decision

If the decision is valid and your code was written in error or without full context, refactor the code to meet the constraint. As soon as the code no longer contradicts the decision, the conflict marker will automatically disappear. This is the most common path and represents the preservation of architectural integrity.

Path B: Overriding the Decision

There are times when a specific technical requirement necessitates a deviation from a general decision. Hopsule allows for Intentional Acknowledgment through the override mechanism. To do this:

  1. Click the Quick Fix (lightbulb icon) next to the conflict or use the context menu.

  2. Select "Override Decision for this block".

  3. A prompt will appear asking for a justification. You must provide a clear explanation of why this deviation is necessary.

  4. Once submitted, this justification is saved as a new Memory entry linked to that specific file and line. The conflict marker will turn into an "Acknowledged Deviation" icon, signaling to other team members that this was a conscious choice, not an oversight.

Path C: Suggesting a Deprecation

If you believe the decision itself is no longer valid for the entire project, you should not simply override it. Instead, use the Hopsule Dashboard or Hopsule CLI to propose a new decision or move the existing one to the Pending Deprecation state. This initiates a formal review of the organizational authority, ensuring that the memory system evolves alongside the technology stack.

Advanced Conflict Management

Hopsule for VS Code offers several advanced features for managing conflicts across large-scale projects and multiple teams.

Filtering the Conflict Explorer

In the Hopsule Dashboard settings for your IDE extension, you can configure filters for the Conflict Explorer. You can choose to view conflicts only from specific Context Packs or filter by the severity of the decision. This is particularly useful when a project is governed by multiple Capsules (e.g., a "Global Security" Capsule and a "Local Frontend" Capsule).

Using the Knowledge Graph for Context

Sometimes a conflict is the result of a chain of decisions. By clicking the "View in Brain" button in the conflict tooltip, you will be redirected to the Knowledge Graph in the Hopsule Dashboard. This visualization allows you to see how the conflicting decision relates to other memories and decisions, helping you understand the broader impact of any potential changes.

Enforcement in CI/CD

While the IDE extension provides immediate feedback, Hopsule also supports enforcement at the pipeline level via the Hopsule CLI. If a conflict is ignored in the editor without a formal override, the CLI can be configured to fail a build or trigger a notification in the Activity Feed of the Hopsule Dashboard. This ensures that the "remembrance" philosophy is maintained even if a developer chooses not to use the VS Code extension.

Tips and Best Practices

  • Never ignore a conflict: Treat conflict markers as a conversation with your team's past and future selves. If you ignore them, you are contributing to organizational forgetting.

  • Write detailed override justifications: When you override a decision, your justification becomes a permanent Memory. Write it for the developer who will look at that code six months from now.

  • Use Hopper for discovery: If you find yourself frequently triggering the same conflict, ask Hopper to summarize all memories related to that decision. There might be a deeper architectural lesson you haven't yet internalized.

  • Sync frequently: Ensure your local Hopsule state is updated by clicking the Sync icon in the Hopsule Sidebar. This ensures you are being enforced against the most recent Accepted decisions from the Hopsule Dashboard.

  • Leverage Context Packs: If you are working on a multi-repo project, ensure the relevant Capsules are active in each workspace to maintain consistent enforcement across your entire system.

  • Distinguish between Logic and Governance: Remember that Hopsule is for *decisions*, not for code style. Use a linter for tabs vs. spaces; use Hopsule for "We use Event-Driven architecture for all cross-service communication."

Troubleshooting

If you encounter issues with conflict detection or resolution within Hopsule for VS Code, refer to the following table for common causes and solutions.

Issue

Possible Cause

Solution

Conflicts are not appearing in the editor or sidebar.

The Decision is in 'Draft' or 'Pending' state, or the Context Pack is not 'Active'.

Check the Hopsule Dashboard to ensure the Decision is 'Accepted' and the Capsule is 'Active'.

Conflict markers are present but 'Quick Fix' options are missing.

The local Hopsule sync is out of date or the authentication token has expired.

Run hopsule auth login in the terminal or refresh the connection in the Hopsule Sidebar.

Hopper fails to explain a specific conflict.

The Decision lacks associated Memories, providing no context for the AI to process.

Add append-only Memories to the Decision in the Dashboard to provide historical reasoning.

Overrides are being flagged as new conflicts after a restart.

Local cache mismatch or failure to push the override memory to the Hopsule API.

Check your internet connection and ensure the override appears in the Activity Feed of the Hopsule Dashboard.

The IDE extension is slowing down the editor performance.

Too many active Context Packs or extremely large workspace scanning.

Refine your Context Pack assignments in the Dashboard to only include relevant governance for the current project.

Related Articles

  • Managing Decision Lifecycles: From Draft to Deprecated

  • Creating and Distributing Context Packs (Capsules)

  • Using the Hopsule CLI for CI/CD Enforcement

  • Understanding the Knowledge Graph: Visualizing Your Organization's Brain

SHARE ON SOCIAL MEDIA

Frequent questions

These questions are asked by many of our users

Customer Centric

Frequent questions

These questions are asked by many of our users

Frequent questions

These questions are asked by many of our users

How do I change my billing information?

You can update your billing details from your account settings. Just go to the “Billing” section, click “Edit” next to your payment method, and follow the prompts to update your information securely.

What happens after my free trial ends?

When your free trial ends, your account will automatically move to the free version (if available) or pause until you choose a paid plan. You’ll receive a reminder before the trial expires so you can decide what works best for you.

Do you offer refunds?

We generally don’t offer refunds once a payment has been processed. However, if you experience any billing issues or believe there’s been a mistake, reach out to our support team and we’ll be happy to review your case.

Can I switch plans later?

Absolutely. You can upgrade or downgrade your plan at any time from your account dashboard. Changes usually take effect immediately, and any price difference will be adjusted automatically.

Will I lose my data if I cancel my subscription?

No, your data will remain stored safely. You’ll retain access to your content, but some premium features may be locked after cancellation. You can always upgrade again to regain full access.

How do I upgrade or downgrade my plan?

Go to your account settings, then to the “Subscription” section. There, you can choose a different plan that better suits your needs. Changes are applied right away, and any billing adjustments are handled automatically.

Is there a free plan available?

Yes, we offer a free plan with limited features for users who want to try things out or don’t need the full suite of tools. You can stay on the free plan as long as you’d like.

What payment methods do you accept?

We accept major credit and debit cards, including Visa, Mastercard, American Express, and others. Depending on your location, additional payment options like PayPal may also be available.

Can't find an answer?

Trusted by creators and innovators alike, our tools power growth, streamline workflows, and drive real impact across every industry.

Man pointing finger top

Can't find an answer?

Trusted by creators and innovators alike, our tools power growth, streamline workflows, and drive real impact across every industry.

Man pointing finger top

Can't find an answer?

Trusted by creators and innovators alike, our tools power growth, streamline workflows, and drive real impact across every industry.

Man pointing finger top