Skip to content

Commit a3b6d39

Browse files
committed
docs(specifications): update specifications to improve traceability
* Removed high-level stakeholder requirements (SHR-*) from itemFulfills in Dataset, QuPath, Notebook, and System specs - specs now only reference specific software requirements (SWR-*) * Removed all itemFulfills from Utils spec - infrastructure module uses itemIsRelatedTo instead since it provides foundational services to other modules * Added SWR-SYSTEM-GUI-SETTINGS-1 fulfillment to GUI spec - documented secret masking control feature with interactive toggle across functional requirements, inputs/outputs, validation, security measures, and implementation algorithms
1 parent 949ccf1 commit a3b6d39

File tree

6 files changed

+12
-7
lines changed

6 files changed

+12
-7
lines changed

specifications/SPEC-DATASET-SERVICE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
itemId: SPEC-DATASET-SERVICE
33
itemTitle: Dataset Module Specification
44
itemType: Software Item Spec
5-
itemFulfills: SHR-DATASET-1, SWR-DATASET-1-1, SWR-DATASET-1-2, SWR-DATASET-1-3, SWR-APPLICATION-2-10
5+
itemFulfills: SWR-DATASET-1-1, SWR-DATASET-1-2, SWR-DATASET-1-3, SWR-APPLICATION-2-10
66
Module: Dataset
77
Layer: Domain Service
88
Version: 0.2.105

specifications/SPEC-QUPATH-SERVICE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
itemId: SPEC-QUPATH-SERVICE
33
itemTitle: QuPath Module Specification
44
itemType: Software Item Spec
5-
itemFulfills: SWR-VISUALIZATION-1-1, SWR-VISUALIZATION-1-2, SWR-VISUALIZATION-1-3, SHR-APPLICATION-2, SWR-VISUALIZATION-1-4
5+
itemFulfills: SWR-VISUALIZATION-1-1, SWR-VISUALIZATION-1-2, SWR-VISUALIZATION-1-3, SWR-VISUALIZATION-1-4
66
Module: QuPath
77
Layer: Domain Service
88
Version: 0.2.105

specifications/SPEC-UTILS-SERVICE.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
itemId: SPEC-UTILS-SERVICE
33
itemTitle: Utils Module Specification
44
itemType: Software Item Spec
5-
itemFulfills: SHR-SYSTEM-1, SHR-SYSTEM-2
65
itemIsRelatedTo: SPEC-GUI-SERVICE, SPEC-BUCKET-SERVICE, SPEC-DATASET-SERVICE, SPEC-NOTEBOOK-SERVICE, SPEC-PLATFORM-SERVICE, SPEC-QUPATH-SERVICE, SPEC-SYSTEM-SERVICE, SPEC-WSI-SERVICE
76
Module: Utils
87
Layer: Infrastructure Service

specifications/SPEC_GUI_SERVICE.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
itemId: SPEC-GUI-SERVICE
33
itemTitle: GUI Module Specification
44
itemType: Software Item Spec
5-
itemFulfills: SHR-SYSTEM-1, SHR-SYSTEM-2
6-
itemIsRelatedTo: SPEC-APPLICATION-SERVICE, SPEC-BUCKET-SERVICE, SPEC-DATASET-SERVICE, SPEC-NOTEBOOK-SERVICE, SPEC-QUPATH-SERVICE, SPEC-SYSTEM-SERVICE
5+
itemFulfills: SWR-SYSTEM-GUI-HEALTH-1, SWR-SYSTEM-GUI-SETTINGS-1
6+
itemIsRelatedTo: SPEC-APPLICATION-SERVICE, SPEC-BUCKET-SERVICE, SPEC-DATASET-SERVICE, SPEC-NOTEBOOK-SERVICE, SPEC-QUPATH-SERVICE, SPEC-SYSTEM-SERVICE
77
Module: GUI _(Graphical User Interface Framework)_
88
Layer: Presentation Interface
99
Version: 1.0.0
@@ -27,6 +27,7 @@ The GUI Module shall:
2727
- **[FR-05]** Provide error page handling through ErrorPageBuilder with fallback mechanisms for failed operations
2828
- **[FR-06]** Enable health monitoring integration with periodic system health updates in the navigation frame
2929
- **[FR-07]** Support user authentication status display with profile integration and authentication state management
30+
- **[FR-08]** Enable user control of secret masking in settings GUI through interactive toggle for visibility of sensitive information
3031

3132
### 1.3 Non-Functional Requirements
3233

@@ -94,6 +95,7 @@ For detailed implementation, refer to the source code in the `src/aignostics/gui
9495
| Layout Configuration | Function | `bool` | Boolean flags for sidebar display | Controls page layout structure |
9596
| Static Asset Files | Filesystem | Binary files | Valid file paths, readable permissions | Font, image, and animation files |
9697
| Module PageBuilders | Code | Class instances | Must inherit from BasePageBuilder | Auto-discovered through service pattern |
98+
| Secret Masking State | User Input | `bool` | Boolean toggle for visibility control | Controls display of sensitive data |
9799

98100
### 3.2 Outputs
99101

@@ -104,6 +106,7 @@ For detailed implementation, refer to the source code in the `src/aignostics/gui
104106
| Static Assets | Web Browser | Binary responses | Correct MIME types, efficient serving | File not found, permission denied |
105107
| Error Pages | Web Browser | HTML content | User-friendly error display | Critical system failures |
106108
| Health Updates | Web Interface | JSON data | Real-time service status display | Health monitoring service unavailable |
109+
| Masked Secrets | Web Interface | JSON data | Sensitive data visibility controlled | Display based on user toggle setting |
107110

108111
### 3.3 Data Schemas
109112

@@ -289,6 +292,7 @@ For exact version requirements, refer to `pyproject.toml` and dependency lock fi
289292
- **Icon Parameters**: Optional string validation against known icon set
290293
- **Asset Paths**: Path validation for security, restricted to module directories
291294
- **Boolean Flags**: Type validation with default fallbacks
295+
- **Secret Masking Toggle**: Boolean validation with default value (masked) for security
292296

293297
### 7.3 Graceful Degradation
294298

@@ -305,6 +309,7 @@ For exact version requirements, refer to `pyproject.toml` and dependency lock fi
305309
- **Authentication**: Secure display of user authentication status without exposing sensitive data
306310
- **Data Encryption**: In-transit encryption through HTTPS for web interface
307311
- **Access Control**: Module-based permission system for GUI component access
312+
- **Secret Masking**: User-controlled toggle for sensitive information visibility with secure default (masked)
308313

309314
### 8.2 Security Measures [Optional]
310315

@@ -321,6 +326,7 @@ For exact version requirements, refer to `pyproject.toml` and dependency lock fi
321326
- **Auto-Discovery Algorithm**: Uses `locate_subclasses()` to find all `BasePageBuilder` implementations across modules and automatically register their pages
322327
- **Conditional Loading Algorithm**: Uses `find_spec()` to detect available dependencies and conditionally load features
323328
- **Theme Application Algorithm**: CSS injection and font loading with fallback mechanisms for consistent styling
329+
- **Secret Masking Algorithm**: Interactive toggle control that reloads service information with `mask_secrets` parameter, defaulting to masked state for security
324330

325331
### 9.2 State Management and Data Flow
326332

specifications/SPEC_NOTEBOOK_SERVICE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
itemId: SPEC-NOTEBOOK-SERVICE
33
itemTitle: Notebook Module Specification
44
itemType: Software Item Spec
5-
itemFulfills: SHR-NOTEBOOK-1, SWR-NOTEBOOK-1-1
5+
itemFulfills: SWR-NOTEBOOK-1-1
66
Module: Notebook _(Interactive Data Analysis)_
77
Layer: Presentation Interface
88
Version: 1.0.0

specifications/SPEC_SYSTEM_SERVICE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
itemId: SPEC-SYSTEM-SERVICE
33
itemTitle: System Module Specification
44
itemType: Software Item Spec
5-
itemFulfills: SHR-SYSTEM-1, SHR-SYSTEM-2
5+
itemFulfills: SWR-SYSTEM-CLI-HEALTH-1
66
itemIsRelatedTo: SPEC-UTILS-SERVICE, SPEC-GUI-SERVICE
77
Module: System
88
Layer: Platform Service

0 commit comments

Comments
 (0)