Skip to content

Commit 455d63d

Browse files
authored
Merge pull request #422 from berntpopp/fix/ontology-defects-and-curation-specs
fix(ontology,curation): stop the importer rewriting curator labels, correct 14 wrong ontology identifiers, restore 408 dropped annotations
2 parents f94eeed + 20f0216 commit 455d63d

299 files changed

Lines changed: 50308 additions & 3172 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/setup-uv-python/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ runs:
4040
for g in ${{ inputs.groups }}; do
4141
groups="$groups --group $g"
4242
done
43-
uv sync $groups
43+
uv sync --locked $groups

.github/workflows/ci.yml

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
docker_config: ${{ steps.filter.outputs.docker_config }}
3030
ci: ${{ steps.filter.outputs.ci }}
3131
steps:
32-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
32+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3333
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4
3434
id: filter
3535
with:
@@ -90,14 +90,18 @@ jobs:
9090
--health-retries 5
9191
9292
steps:
93-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
93+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
9494

9595
- name: Setup uv + Python
9696
uses: ./.github/actions/setup-uv-python
9797
with:
9898
working-directory: backend
9999
groups: dev test
100100

101+
- name: Verify requirements exports match uv.lock
102+
working-directory: backend
103+
run: make check-requirements-drift
104+
101105
- name: Run database migrations
102106
env:
103107
# ENVIRONMENT=development lets the backend job bypass the Wave 5c
@@ -161,10 +165,10 @@ jobs:
161165
runs-on: ubuntu-24.04
162166
timeout-minutes: 15
163167
steps:
164-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
168+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
165169

166170
- name: Setup Node.js
167-
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
171+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
168172
with:
169173
node-version: '22'
170174
cache: 'npm'
@@ -174,6 +178,10 @@ jobs:
174178
working-directory: frontend
175179
run: npm ci
176180

181+
- name: Verify dependency consistency
182+
working-directory: frontend
183+
run: npm run check:dependencies
184+
177185
- name: Run tests (vitest)
178186
working-directory: frontend
179187
run: npm test
@@ -213,7 +221,7 @@ jobs:
213221
runs-on: ubuntu-24.04
214222
timeout-minutes: 15
215223
steps:
216-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
224+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
217225

218226
- name: Setup uv + Python
219227
uses: ./.github/actions/setup-uv-python
@@ -280,10 +288,10 @@ jobs:
280288
--health-retries 5
281289
282290
steps:
283-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
291+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
284292

285293
- name: Setup Node.js
286-
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
294+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
287295
with:
288296
node-version: '22'
289297
cache: 'npm'
@@ -374,7 +382,7 @@ jobs:
374382
runs-on: ubuntu-24.04
375383
timeout-minutes: 5
376384
steps:
377-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
385+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
378386

379387
- name: Verify ENABLE_DEV_AUTH not truthy in prod compose
380388
# Catch every YAML-truthy spelling (mapping or list form, bare or
@@ -401,7 +409,7 @@ jobs:
401409
runs-on: ubuntu-24.04
402410
timeout-minutes: 10
403411
steps:
404-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
412+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
405413

406414
- name: Set up Python
407415
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0

.github/workflows/docker.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
docker_mcp: ${{ steps.filter.outputs.docker_mcp }}
2626
docker_config: ${{ steps.filter.outputs.docker_config }}
2727
steps:
28-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
28+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2929
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4
3030
id: filter
3131
with:
@@ -64,7 +64,7 @@ jobs:
6464
context: mcp
6565
dockerfile: mcp/Dockerfile.prod
6666
steps:
67-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
67+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
6868

6969
- name: Decide whether to build this image
7070
id: gate
@@ -127,7 +127,7 @@ jobs:
127127
context: mcp
128128
dockerfile: mcp/Dockerfile.prod
129129
steps:
130-
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
130+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
131131

132132
- name: Decide whether to publish this image
133133
id: gate
@@ -136,7 +136,7 @@ jobs:
136136
137137
- name: Log in to GHCR
138138
if: ${{ steps.gate.outputs.build == 'true' }}
139-
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
139+
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
140140
with:
141141
registry: ghcr.io
142142
username: ${{ github.actor }}

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,3 +237,6 @@ test-results/
237237

238238
# Codex CLI tool state (regenerates per-session)
239239
.codex
240+
241+
# Claude Code local hook config (per-machine tool state, not project code)
242+
.github/hooks/

.planning/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ durable reference documentation only.
3131

3232
## Current Active Set
3333

34+
- `reviews/2026-08-09-pr-422-cross-layer-review.md` — merge-blocking clinical data, backend, frontend, privacy, and dependency review
35+
- `specs/2026-08-09-source-faithful-individual-curation-design.md` — one-individual/one-Phenopacket, multiple-report-observation target contract
36+
- `roadmaps/2026-08-09-pr-422-remediation-roadmap.md` — parallel remediation sequencing and gates
37+
- `plans/2026-08-09-source-observation-implementation-plan.md` — detailed TDD plan across importer, database, API, MCP, and frontend
38+
- `plans/2026-08-09-dependency-security-consolidation-plan.md` — coherent Dependabot/action/alert integration plan
3439
- `plans/2026-04-15-release-hardening-and-8plus-plan.md` — current source of truth for release-readiness sequencing and go/no-go criteria
3540
- `reviews/2026-04-17-ui-ux-design-review.md` — current UI/UX assessment after PR #263; still contains actionable medium/low follow-ups
3641

0 commit comments

Comments
 (0)