Skip to content

Commit a257174

Browse files
Merge pull request #207 from reactome/docs/mark-parked-work
Mark the UniProt, Alliance and Cross-Database work as parked, not dead
2 parents 3eadf7e + 5ea4bc5 commit a257174

4 files changed

Lines changed: 80 additions & 1 deletion

File tree

‎.specify/memory/constitution.md‎

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
<!--
2+
Sync Impact Report
3+
==================
4+
Version: 1.0.0 -> 1.1.0 (MINOR: one principle added; none removed or redefined)
5+
6+
Added: Principle VII, "Parked is not dead"
7+
Modified: none
8+
Removed: none
9+
10+
Rationale: capability that is built, works and is deliberately undeployed had no
11+
stated policy, so it was read as dead code and proposed for deletion. Both failure
12+
modes are now named -- deleting it to cheapen a refactor, and investing in it while
13+
parked.
14+
15+
Follow-up TODOs: none.
16+
-->
17+
118
# Reactome ChatBot Constitution
219

320
The team is three developers covering a large surface — website, pathway browser,
@@ -60,6 +77,26 @@ it records a decision, a measurement, or a defect someone else must judge — no
6077
as a substitute for a fix that takes ten minutes. Three fixes are worth more than
6178
five issues describing them.
6279

80+
### VII. Parked is not dead
81+
82+
Some capability here is built, works, and is deliberately not deployed: UniProt
83+
integration, Alliance results, and the Cross-Database profile. It runs only when a
84+
`config.yml` names it; every default is React-to-Me.
85+
86+
Do not delete parked work to make a refactor cheaper. That trade looks like a saving
87+
and is not: the code cost someone real effort, "we are not working on it now" is not
88+
"it is dead", and rebuilding is far more expensive than carrying. This principle
89+
exists because the proposal was made -- to remove about 500 lines of UniProt and
90+
Cross-Database serving code, on the grounds that it had been dragged through three
91+
refactors in a week -- and it was wrong.
92+
93+
Equally, do not invest in parked work. It needs no new features and no new tests.
94+
Keeping it importable and type-checking through a refactor is the whole obligation.
95+
96+
Parked code is unexercised, so its behaviour is unverified even where it still type
97+
checks. Whoever un-parks it inherits that, and should be told at the point they find
98+
it rather than after.
99+
63100
## Quality Gates
64101

65102
`main` is protected: pull request required, `enforce_admins` on, branch must be
@@ -100,4 +137,4 @@ used for bug triage or dependency bumps, where the ceremony costs more than the
100137
fix. Retrofitting specifications onto existing code is archaeology and is not
101138
done.
102139

103-
**Version**: 1.0.0 | **Ratified**: 2026-09-08 | **Last Amended**: 2026-09-08
140+
**Version**: 1.1.0 | **Ratified**: 2026-09-08 | **Last Amended**: 2026-09-10

‎src/agent/profiles/cross_database.py‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
"""The Cross-Database profile: Reactome answers combined with UniProt answers.
2+
3+
PARKED, NOT ABANDONED. Deliberately not deployed: every profile default is
4+
React-to-Me, in `config_default.yml` and in `chat-chainlit.py`'s fallback, so this
5+
runs only if a `config.yml` names it explicitly.
6+
7+
Do not delete it. Helia Mohammadi did the work to make UniProt integration possible, and it is kept so the capability can be resurrected
8+
rather than rebuilt. Equally, do not invest in it while it is parked -- it does not
9+
need new features, and a change that merely keeps it importable is enough.
10+
11+
If it is ever un-parked, note that it has not been exercised since 2026-09-10, so
12+
its behaviour is unverified even where the code still type-checks.
13+
"""
14+
115
from typing import Any, Literal
216

317
from langchain_core.embeddings import Embeddings

‎src/data_generation/alliance/__init__.py‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
"""Building embeddings from Alliance of Genome Resources data.
2+
3+
PARKED, NOT ABANDONED. Deliberately not deployed: every profile default is
4+
React-to-Me, in `config_default.yml` and in `chat-chainlit.py`'s fallback, so this
5+
runs only if a `config.yml` names it explicitly.
6+
7+
Do not delete it. Adam Wright did the work to make Alliance results possible, and it is kept so the capability can be resurrected
8+
rather than rebuilt. Equally, do not invest in it while it is parked -- it does not
9+
need new features, and a change that merely keeps it importable is enough.
10+
11+
If it is ever un-parked, note that it has not been exercised since 2026-09-10, so
12+
its behaviour is unverified even where the code still type-checks.
13+
"""
14+
115
import os
216

317
import requests

‎src/retrievers/uniprot/rag.py‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
"""Retrieval over a UniProt embeddings bundle.
2+
3+
PARKED, NOT ABANDONED. Deliberately not deployed: every profile default is
4+
React-to-Me, in `config_default.yml` and in `chat-chainlit.py`'s fallback, so this
5+
runs only if a `config.yml` names it explicitly.
6+
7+
Do not delete it. Helia Mohammadi did the work to make UniProt integration possible, and it is kept so the capability can be resurrected
8+
rather than rebuilt. Equally, do not invest in it while it is parked -- it does not
9+
need new features, and a change that merely keeps it importable is enough.
10+
11+
If it is ever un-parked, note that it has not been exercised since 2026-09-10, so
12+
its behaviour is unverified even where the code still type-checks.
13+
"""
14+
115
from pathlib import Path
216

317
from langchain_core.embeddings import Embeddings

0 commit comments

Comments
 (0)