Skip to content

Mark the UniProt, Alliance and Cross-Database work as parked, not dead - #207

Merged
adamjohnwright merged 3 commits into
mainfrom
docs/mark-parked-work
Sep 10, 2026
Merged

Mark the UniProt, Alliance and Cross-Database work as parked, not dead#207
adamjohnwright merged 3 commits into
mainfrom
docs/mark-parked-work

Conversation

@adamjohnwright

@adamjohnwright adamjohnwright commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

I proposed deleting ~500 lines of this to save maintenance effort. That was the wrong trade, and this is the correction — in the two places it needs to be recorded.

Helia did the work to make UniProt integration possible; Adam did the same for Alliance. "We are not working on it right now" is not "it is dead", and deleting a colleague's work to make my refactors cheaper is not a saving.

Constitution, Principle VII — "Parked is not dead" (v1.0.0 → 1.1.0)

The policy was missing, which is why the code read as dead. It names both failure modes:

  • Do not delete parked work to cheapen a refactor. It cost someone real effort, and rebuilding costs far more than carrying.
  • Do not invest in it either. No new features, no new tests — keeping it importable and type-checking through a refactor is the whole obligation.

It also records the specific proposal that prompted it, because a principle with a scar attached is harder to argue away than one without.

The modules say the same thing where you'd find it

cross_database.py, retrievers/uniprot/rag.py and data_generation/alliance/ each now state that they are deliberately undeployed, must not be deleted, and must not be invested in.

They also record that the code has not been exercised since today, so if it is ever un-parked its behaviour is unverified even where it still type-checks. That is the fact most likely to bite whoever picks it up, and it belongs at the point of discovery rather than after.

No behaviour change

The chatbot already defaults to Reactome-only data, in both config_default.yml and chat-chainlit.py's fallback. Nothing needed changing for that; this only writes down why the rest is there.

🤖 Generated with Claude Code

adamjohnwright and others added 3 commits September 10, 2026 19:57
I proposed deleting about 500 lines of this to save maintenance effort.
That was the wrong trade: Helia did the work to make UniProt
integration possible and Adam did the same for Alliance, and "we are
not working on it right now" is not "it is dead". Deleting a
colleague's work to make my refactors cheaper is not a saving.

So instead the status is written down where someone will find it. Each
module now says three things: it is deliberately not deployed, it must
not be deleted, and it must not be invested in while parked -- keeping
it importable through a refactor is enough.

Also records that it has not been exercised since today, so if it is
ever un-parked its behaviour is unverified even where the code still
type-checks. That is the fact most likely to bite whoever resurrects it.

No behaviour change. The chatbot already defaults to Reactome only, in
both config_default.yml and chat-chainlit.py's fallback -- these
profiles run only if a config.yml names them explicitly.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Principle VII. Capability that is built, works and is deliberately not
deployed had no stated policy, so it read as dead code -- and I
proposed deleting about 500 lines of it to make refactors cheaper.

The principle names both failure modes. Do not delete parked work to
cheapen a refactor: it cost someone real effort, "not working on it
now" is not "dead", and rebuilding costs far more than carrying. Do not
invest in it either: keeping it importable and type-checking through a
refactor is the whole obligation.

It also records that parked code is unexercised, so its behaviour is
unverified even where it type-checks -- the fact most likely to bite
whoever resurrects it, and the reason the module docstrings in this
same PR say so where they will be found.

MINOR bump: a principle added, none removed or redefined.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@adamjohnwright
adamjohnwright merged commit a257174 into main Sep 10, 2026
10 checks passed
@adamjohnwright
adamjohnwright deleted the docs/mark-parked-work branch September 10, 2026 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant