Skip to content

Reinstall from branch to clear the stale guard, then remove two workarounds #30

Description

@verkligheten

Parent Epic

Part of #17.

Problem

The PreToolUse guard running inside a Claude Code session is the installed agent-notes package, not the working branch. #27 fixed three false-positive classes in agent_notes/commands/hook.py, but that fix only takes effect after a reinstall — so work on this very repo is still blocked by the old guard.

This has forced a workaround twice, and blocked tooling commands seven times across the epic.

  1. Drop the tomli conditional dependency; raise Python floor to 3.11 #28 — one line in the credentials service (a dead try: import tomllib / except ImportError shim) could not be removed. Harmless dead code under the new 3.11 floor, but the file is untouched and the issue's final grep check does not return clean.
  2. Delete the wiki memory backend #23 — a test module under tests/unit/services/ imports symbols from the deleted wiki package, so it fails collection, but it could not be deleted. It was rendered inert via a collect_ignore entry in tests/conftest.py. The file still exists on disk and the conftest entry hides a broken module — that is debt, not a fix.

Separately, the guard also blocked seven gh / grep / python commands during this epic whose only offence was mentioning a filename in prose — issue titles, comment bodies, and a variable name being searched for. #27 narrowed that considerably, but the same stale-install problem means the improvement is not yet active.

Fix

After the epic branch merges — or at any point the owner is willing to run it — reinstall from source:

pipx uninstall agent-notes && pipx install .

Per this project's own convention: uninstall before install, never --force, and gate on green tests. The suite is green.

Then:

Why this wasn't just done

Reinstalling the owner's globally-installed CLI from an unmerged feature branch changes their working environment with real blast radius. It is reversible (pipx install agent-notes restores the published build), but it is the owner's call, not an implementation detail to be taken unilaterally mid-epic.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions