Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
453fe9c
Document merge view implementation plan
rossant Aug 1, 2026
5e57de7
test: characterize curation selection contracts
rossant Aug 1, 2026
5c520a9
refactor: add curation selection state model
rossant Aug 1, 2026
2999260
refactor: shadow supervisor selection state
rossant Aug 1, 2026
d87a9e0
refactor: make curation selection authoritative
rossant Aug 1, 2026
cd0a37d
refactor: separate reference and presentation order
rossant Aug 1, 2026
e05f85e
refactor: remove selection state from task history
rossant Aug 1, 2026
450a859
refactor: add contextual curation history
rossant Aug 1, 2026
b9588ad
feat: add merge session and mode lifecycle
rossant Aug 2, 2026
60af60a
feat: add cluster table drag and drop
rossant Aug 2, 2026
1dea2bb
feat: add merge candidate interactions
rossant Aug 2, 2026
96c1024
feat: restore merge sessions through history
rossant Aug 2, 2026
5166d72
docs: finalize merge view workflow
rossant Aug 2, 2026
138abda
Advance similar-cluster selection batches
rossant Aug 2, 2026
2575ae0
fix: release merge view Qt resources
rossant Aug 2, 2026
048acb9
fix: refine merge mode interactions
rossant Aug 2, 2026
0c4084d
docs: align merge mode workflow
rossant Aug 2, 2026
b4c64b1
Fix firing rate view normalization
rossant Aug 2, 2026
62d0fca
fix: enable merge table drag and drop
rossant Aug 2, 2026
167263d
Align scientific views with table order
rossant Aug 2, 2026
1b3942a
Document mode-dependent selection order
rossant Aug 2, 2026
2fd5b74
Remove obsolete correlogram promotion test
rossant Aug 2, 2026
a682638
fix: preserve table filter editing after double click
rossant Aug 2, 2026
2b7aa99
improve: clarify shortcut and command discovery
rossant Aug 2, 2026
f02b5d1
Keep selection colors stable across ordering changes
rossant Aug 2, 2026
5003078
Document stable workflow table colors
rossant Aug 2, 2026
52ed227
Show curation save feedback
rossant Aug 2, 2026
f225d8b
Finish curation save feedback
rossant Aug 2, 2026
04db030
Keep scientific view colors stable
rossant Aug 2, 2026
9bf050a
Test stable selected color slots
rossant Aug 2, 2026
ff05797
Disable Save when curation is clean
rossant Aug 2, 2026
ed82a5f
Test disabled Save state
rossant Aug 2, 2026
0721fd4
Handle empty stable color selections
rossant Aug 2, 2026
0838dd2
Preview Merge View row reordering
rossant Aug 2, 2026
61dd643
Use ID-only Merge drag previews
rossant Aug 2, 2026
93cd59b
Support current Pillow icon rendering APIs
rossant Aug 2, 2026
822a062
Add searchable shortcut reference dialog
rossant Aug 2, 2026
580d673
Place merge controls beside Save
rossant Aug 2, 2026
e9849f8
Check clean Save state before editing
rossant Aug 2, 2026
7a3c91e
Show row-wide table hover feedback
rossant Aug 2, 2026
410dcac
Refine merge toolbar workflow
rossant Aug 2, 2026
876f9e3
Format shortcut reference test
rossant Aug 2, 2026
7fa0493
Regenerate API reference
rossant Aug 2, 2026
bd1af39
Keep drop preview from intercepting drags
rossant Aug 2, 2026
0af27d5
Show table sort direction in headers
rossant Aug 2, 2026
fe16fa5
Document selection ordering and color refactor
rossant Aug 2, 2026
d0ec58b
Use conventional table sort arrows
rossant Aug 2, 2026
becb91a
Document installing previous releases
rossant Aug 2, 2026
29ce280
refactor: store selection color order in state
rossant Aug 2, 2026
2e708ad
Add configurable axis tick formatters
rossant Aug 2, 2026
28094b8
fix: clear orphaned similarity selection
rossant Aug 2, 2026
c5bd97e
Add shared recording-time axis units
rossant Aug 2, 2026
ad488f7
docs: plan amplitude threshold splitting
rossant Aug 2, 2026
4561e2e
Fix recording-time unit selection
rossant Aug 2, 2026
8390eab
refactor: make presentation reordering explicit
rossant Aug 2, 2026
f26e790
Control recording-time label precision
rossant Aug 2, 2026
19e0443
Remove recording-time decimal menu
rossant Aug 2, 2026
0ed062c
refactor: store complete normal selection snapshot
rossant Aug 2, 2026
24c1e3b
fix: preserve hidden selection presentation order
rossant Aug 2, 2026
b426e9a
Group View menu actions
rossant Aug 2, 2026
444b130
Group selection navigation actions
rossant Aug 2, 2026
106685a
Organize view action menus
rossant Aug 2, 2026
8cce43a
refactor: coordinate transient split selections
rossant Aug 2, 2026
df4b8a5
feat: preview amplitude threshold splits
rossant Aug 2, 2026
6d654e3
feat: link amplitude split previews to waveforms
rossant Aug 2, 2026
d8af237
docs: cover amplitude threshold splitting
rossant Aug 2, 2026
40b99a3
refactor: validate authoritative selection color mapping
rossant Aug 2, 2026
378c136
docs: explain stable selection ordering and colors
rossant Aug 2, 2026
6131619
test: mark imported supervisor fixture use
rossant Aug 2, 2026
7723aff
fix: reuse wizard candidate color slot
rossant Aug 2, 2026
1646e87
fix: keep wizard candidate color stable
rossant Aug 2, 2026
e9fe6a9
docs: clarify wizard candidate colors
rossant Aug 2, 2026
40162f9
docs: define intent-driven selection colors
rossant Aug 2, 2026
780445d
refactor: project explicit view color indices
rossant Aug 2, 2026
1050cad
refactor: describe table selection intent
rossant Aug 2, 2026
b4121a7
refactor: model explicit selection color slots
rossant Aug 2, 2026
53272e9
refactor: reduce selection colors by intent
rossant Aug 2, 2026
85e5a01
test: cover explicit table color mappings
rossant Aug 2, 2026
79d590b
docs: explain intent-driven selection colors
rossant Aug 2, 2026
3c24bd6
fix: preserve filtered selection mutations
rossant Aug 2, 2026
2fdea10
fix: restore tables when merge view closes
rossant Aug 2, 2026
a41d300
feat: add merge proposition domain state
rossant Aug 3, 2026
579d6a0
feat: integrate merge proposition review workflow
rossant Aug 3, 2026
891f9e8
docs: document phy 2.2 merge workflows
rossant Aug 3, 2026
e9c8953
chore: begin phy 2.2 development
rossant Aug 3, 2026
8f76e06
fix: release supervisor callbacks on GUI close
rossant Aug 3, 2026
1c20ebc
feat: streamline merge proposition review
rossant Aug 3, 2026
a2fa61f
docs: document merge proposition workflows
rossant Aug 3, 2026
9ea1e68
feat: label merge propositions by source order
rossant Aug 3, 2026
ba54b91
docs: define merge proposition display labels
rossant Aug 3, 2026
84d3696
fix: simplify active proposition styling
rossant Aug 3, 2026
f0de3f7
docs: clarify active proposition styling
rossant Aug 3, 2026
27363e7
docs: plan stable merge dock lifecycle
rossant Aug 3, 2026
f89835d
refactor: switch merge propositions atomically
rossant Aug 3, 2026
bd8bd46
refactor: keep merge dock alive across sessions
rossant Aug 3, 2026
3ee4d4c
feat: reuse merge dock during proposition changes
rossant Aug 3, 2026
a849b32
fix: restore merge dock local geometry
rossant Aug 3, 2026
27e3fae
docs: document persistent merge dock lifecycle
rossant Aug 3, 2026
391b8d2
style: format merge dock lifecycle
rossant Aug 3, 2026
132b38b
fix: close proposition test controllers
rossant Aug 3, 2026
2488e3e
fix: keep proposition queue layout stable
rossant Aug 3, 2026
80511f9
fix: deselect clusters from correlogram view
rossant Aug 3, 2026
add8d7e
fix: align correlogram deselection with merge state
rossant Aug 3, 2026
4ba56d5
fix: continue manual merge workflow after commit
rossant Aug 4, 2026
d7ff0c5
fix: address merge workflow tester feedback
rossant Aug 8, 2026
0a47882
docs: record merge integration handoff
rossant Aug 8, 2026
e9f957a
docs: update integration handoff
rossant Aug 9, 2026
e8ff692
docs: record later repository activity
rossant Aug 9, 2026
036299d
docs: record integration conflict state
rossant Aug 9, 2026
9391e9d
Record completed prerequisite merge sequence
rossant Aug 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,10 @@ jobs:
- name: Check formatting with ruff
run: uv run --frozen ruff format --check phy

# phy currently relies on SpikeSelector changes newer than phylib 2.7.0.
# phy currently relies on SpikeSelector and template-less waveform fixes newer than phylib 2.7.0.
# Keep normal CI reproducible until those changes are included in a release.
- name: Install tested phylib revision
run: uv pip install --python .venv "phylib @ git+https://github.com/cortex-lab/phylib.git@db10401589b47fd8d56f7c66531b0c22fc7f9e91"
run: uv pip install --python .venv "phylib @ git+https://github.com/cortex-lab/phylib.git@fc494f6ab9f03370c43e618d2ef9610c6781b0e6"

- name: Test with pytest
run: uv run --no-sync pytest --cov=phy --cov-report=xml phy
Expand Down
39 changes: 28 additions & 11 deletions design/README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,48 @@
# Design documents

These documents describe proposed or in-progress changes that are not yet part
of the released user documentation.
These documents record implemented and proposed work targeting phy 2.2.0. User
documentation remains authoritative for released behavior.

## Merge View

Read these documents in order:

1. [Merge View workflow specification](merge-view-workflow.md) fixes the agreed
user-visible behavior.
2. [Merge View architecture proposal](merge-view-architecture.md) describes the
internal refactor and implementation path needed to support that behavior.
2. [Merge View architecture record](merge-view-architecture.md) describes the
internal refactor supporting that behavior.
3. [Merge Propositions specification](merge-propositions.md) defines review of
AIND/SpikeInterface format-version 2 `curation.json` merge propositions.
4. [Merge View dock stability plan](merge-view-dock-stability.md) proposes a
persistent dock and atomic workspace switching to avoid layout disruption.

The workflow specification is the authority for user behavior. The architecture
proposal may evolve as implementation reveals constraints, but changes must not
record may evolve as implementation reveals constraints, but changes must not
silently alter the workflow contract.

### Current status

- The manual Merge View workflow has been designed but not implemented.
- The supporting architecture has been audited and a target design proposed.
- Merge Propositions and `curation.json` are intentionally deferred.
- The next task is the characterization-test and state-model preparation phase
described in the architecture proposal.
- Manual Merge View is implemented on the unreleased phy 2.2 branch.
- Merge Propositions are implemented for Template GUI datasets on that branch.
- Automated release validation is complete (`make test-full`, lint, formatting,
strict documentation build, and package build). Remaining work is maintainer
acceptance and manual dataset smoke testing before release.
- The dated [integration handoff](merge-view-integration-handoff.md) records the
current PR dependencies, manual-feedback gate, merge order, conflict policy,
and final validation steps. GitHub remains authoritative for live PR state.

Agents continuing this work should first read the repository `AGENTS.md`, then
both Merge View documents completely. Merge, selection, undo/redo, saved cluster
assignments, colors, and cross-view consistency are safety-sensitive; do not
declare the feature complete without the regression coverage and verification
listed in the architecture proposal.
listed in the architecture record and proposition specification.

## Amplitude-threshold splitting

The [amplitude-threshold splitting implementation plan](amplitude-threshold-splitting.md)
defines the user interaction, safety invariants, controller/view boundaries,
delegable work packages, and verification required for amplitude-based split
previews in Amplitude View and Waveform View.

The implementation and user documentation are complete on the unreleased phy
2.2 branch. Final large-dataset smoke testing and save/reopen validation remain.
Loading