feat: implement plugin architecture and application settings with Svelte UI
- Added plugin base and loader for backend extensibility - Implemented application settings management with config persistence - Created Svelte-based frontend with Dashboard and Settings pages - Added API routes for plugins, tasks, and settings - Updated documentation and specifications - Improved project structure and developer tools
This commit is contained in:
@@ -31,10 +31,7 @@
|
||||
|
||||
*GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.*
|
||||
|
||||
- [ ] **Causal Validity**: Do all planned modules/components have defined Contracts (inputs/outputs/props/events) before implementation logic?
|
||||
- [ ] **Immutability**: Are architectural layers and constraints defined in Module/Component Headers?
|
||||
- [ ] **Format Compliance**: Does the plan ensure all code will be wrapped in `[DEF]` anchors?
|
||||
- [ ] **Belief State**: Is logging planned to follow the `Entry` -> `Validation` -> `Action` -> `Coherence` state transition model?
|
||||
[Gates determined based on constitution file]
|
||||
|
||||
## Project Structure
|
||||
|
||||
|
||||
@@ -95,12 +95,6 @@
|
||||
- **FR-006**: System MUST authenticate users via [NEEDS CLARIFICATION: auth method not specified - email/password, SSO, OAuth?]
|
||||
- **FR-007**: System MUST retain user data for [NEEDS CLARIFICATION: retention period not specified]
|
||||
|
||||
### System Invariants (Constitution Check)
|
||||
*Define immutable constraints that will become `@INVARIANT` or `@CONSTRAINT` tags in Module Headers.*
|
||||
|
||||
- **INV-001**: [e.g., "No direct database access from UI layer"]
|
||||
- **INV-002**: [e.g., "All financial calculations must use Decimal type"]
|
||||
|
||||
### Key Entities *(include if feature involves data)*
|
||||
|
||||
- **[Entity 1]**: [What it represents, key attributes without implementation]
|
||||
|
||||
@@ -88,14 +88,12 @@ Examples of foundational tasks (adjust based on your project):
|
||||
|
||||
### Implementation for User Story 1
|
||||
|
||||
- [ ] T012 [P] [US1] Define [Entity1] Module Header & Contracts in src/models/[entity1].py
|
||||
- [ ] T013 [P] [US1] Implement [Entity1] logic satisfying contracts
|
||||
- [ ] T014 [P] [US1] Define [Service] Module Header & Contracts in src/services/[service].py
|
||||
- [ ] T015 [US1] Implement [Service] logic satisfying contracts (depends on T012)
|
||||
- [ ] T016 [US1] Define [endpoint] Contracts & Logic in src/[location]/[file].py
|
||||
- [ ] T017 [US1] Define [Component] Header (Props/Events) in frontend/src/components/[Component].svelte
|
||||
- [ ] T018 [US1] Implement [Component] logic satisfying contracts
|
||||
- [ ] T019 [US1] Verify `[DEF]` syntax and Belief State logging compliance
|
||||
- [ ] T012 [P] [US1] Create [Entity1] model in src/models/[entity1].py
|
||||
- [ ] T013 [P] [US1] Create [Entity2] model in src/models/[entity2].py
|
||||
- [ ] T014 [US1] Implement [Service] in src/services/[service].py (depends on T012, T013)
|
||||
- [ ] T015 [US1] Implement [endpoint/feature] in src/[location]/[file].py
|
||||
- [ ] T016 [US1] Add validation and error handling
|
||||
- [ ] T017 [US1] Add logging for user story 1 operations
|
||||
|
||||
**Checkpoint**: At this point, User Story 1 should be fully functional and testable independently
|
||||
|
||||
@@ -109,16 +107,15 @@ Examples of foundational tasks (adjust based on your project):
|
||||
|
||||
### Tests for User Story 2 (OPTIONAL - only if tests requested) ⚠️
|
||||
|
||||
- [ ] T020 [P] [US2] Contract test for [endpoint] in tests/contract/test_[name].py
|
||||
- [ ] T021 [P] [US2] Integration test for [user journey] in tests/integration/test_[name].py
|
||||
- [ ] T018 [P] [US2] Contract test for [endpoint] in tests/contract/test_[name].py
|
||||
- [ ] T019 [P] [US2] Integration test for [user journey] in tests/integration/test_[name].py
|
||||
|
||||
### Implementation for User Story 2
|
||||
|
||||
- [ ] T022 [P] [US2] Define [Entity] Module Header & Contracts in src/models/[entity].py
|
||||
- [ ] T023 [P] [US2] Implement [Entity] logic satisfying contracts
|
||||
- [ ] T024 [US2] Define [Service] Module Header & Contracts in src/services/[service].py
|
||||
- [ ] T025 [US2] Implement [Service] logic satisfying contracts
|
||||
- [ ] T026 [US2] Define [Component] Header & Logic in frontend/src/components/[Component].svelte
|
||||
- [ ] T020 [P] [US2] Create [Entity] model in src/models/[entity].py
|
||||
- [ ] T021 [US2] Implement [Service] in src/services/[service].py
|
||||
- [ ] T022 [US2] Implement [endpoint/feature] in src/[location]/[file].py
|
||||
- [ ] T023 [US2] Integrate with User Story 1 components (if needed)
|
||||
|
||||
**Checkpoint**: At this point, User Stories 1 AND 2 should both work independently
|
||||
|
||||
@@ -132,15 +129,14 @@ Examples of foundational tasks (adjust based on your project):
|
||||
|
||||
### Tests for User Story 3 (OPTIONAL - only if tests requested) ⚠️
|
||||
|
||||
- [ ] T027 [P] [US3] Contract test for [endpoint] in tests/contract/test_[name].py
|
||||
- [ ] T028 [P] [US3] Integration test for [user journey] in tests/integration/test_[name].py
|
||||
- [ ] T024 [P] [US3] Contract test for [endpoint] in tests/contract/test_[name].py
|
||||
- [ ] T025 [P] [US3] Integration test for [user journey] in tests/integration/test_[name].py
|
||||
|
||||
### Implementation for User Story 3
|
||||
|
||||
- [ ] T029 [P] [US3] Define [Entity] Module Header & Contracts in src/models/[entity].py
|
||||
- [ ] T030 [US3] Define [Service] Module Header & Contracts in src/services/[service].py
|
||||
- [ ] T031 [US3] Implement logic for [Entity] and [Service] satisfying contracts
|
||||
- [ ] T032 [US3] Define [Component] Header & Logic in frontend/src/components/[Component].svelte
|
||||
- [ ] T026 [P] [US3] Create [Entity] model in src/models/[entity].py
|
||||
- [ ] T027 [US3] Implement [Service] in src/services/[service].py
|
||||
- [ ] T028 [US3] Implement [endpoint/feature] in src/[location]/[file].py
|
||||
|
||||
**Checkpoint**: All user stories should now be independently functional
|
||||
|
||||
@@ -183,10 +179,9 @@ Examples of foundational tasks (adjust based on your project):
|
||||
### Within Each User Story
|
||||
|
||||
- Tests (if included) MUST be written and FAIL before implementation
|
||||
- Module/Component Headers & Contracts BEFORE Implementation (Causal Validity)
|
||||
- Models before services
|
||||
- Services before endpoints
|
||||
- Components before Pages
|
||||
- Core implementation before integration
|
||||
- Story complete before moving to next priority
|
||||
|
||||
### Parallel Opportunities
|
||||
@@ -207,9 +202,9 @@ Examples of foundational tasks (adjust based on your project):
|
||||
Task: "Contract test for [endpoint] in tests/contract/test_[name].py"
|
||||
Task: "Integration test for [user journey] in tests/integration/test_[name].py"
|
||||
|
||||
# Launch all contract definitions for User Story 1 together:
|
||||
Task: "Define [Entity1] Module Header & Contracts in src/models/[entity1].py"
|
||||
Task: "Define [Entity2] Module Header & Contracts in src/models/[entity2].py"
|
||||
# Launch all models for User Story 1 together:
|
||||
Task: "Create [Entity1] model in src/models/[entity1].py"
|
||||
Task: "Create [Entity2] model in src/models/[entity2].py"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user