constitution firewall
This commit is contained in:
@@ -31,7 +31,12 @@
|
||||
|
||||
*GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.*
|
||||
|
||||
[Gates determined based on constitution file]
|
||||
- Confirm each change lives in the directory that owns the behavior.
|
||||
- Confirm shared logic stays in `modules/` and host-specific assembly stays in
|
||||
`hosts/<name>/`.
|
||||
- Confirm any firewall, NAT, nftables, or port-forwarding work is scoped to
|
||||
`hosts/<name>/firewall.nix` for the affected host.
|
||||
- Confirm any secret-dependent behavior respects `config.my.secureHost`.
|
||||
|
||||
## Project Structure
|
||||
|
||||
|
||||
@@ -89,11 +89,13 @@
|
||||
- **FR-003**: Users MUST be able to [key interaction, e.g., "reset their password"]
|
||||
- **FR-004**: System MUST [data requirement, e.g., "persist user preferences"]
|
||||
- **FR-005**: System MUST [behavior, e.g., "log all security events"]
|
||||
- **FR-006**: If the feature changes host firewall behavior, the spec MUST name
|
||||
the affected `hosts/<name>/firewall.nix` file explicitly.
|
||||
|
||||
*Example of marking unclear requirements:*
|
||||
|
||||
- **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]
|
||||
- **FR-007**: System MUST authenticate users via [NEEDS CLARIFICATION: auth method not specified - email/password, SSO, OAuth?]
|
||||
- **FR-008**: System MUST retain user data for [NEEDS CLARIFICATION: retention period not specified]
|
||||
|
||||
### Key Entities *(include if feature involves data)*
|
||||
|
||||
|
||||
@@ -17,6 +17,8 @@ description: "Task list template for feature implementation"
|
||||
- **[P]**: Can run in parallel (different files, no dependencies)
|
||||
- **[Story]**: Which user story this task belongs to (e.g., US1, US2, US3)
|
||||
- Include exact file paths in descriptions
|
||||
- If firewall behavior changes, tasks MUST reference `hosts/<name>/firewall.nix`
|
||||
instead of only `hosts/<name>/configuration.nix`
|
||||
|
||||
## Path Conventions
|
||||
|
||||
@@ -68,6 +70,8 @@ Examples of foundational tasks (adjust based on your project):
|
||||
- [ ] T007 Create base models/entities that all stories depend on
|
||||
- [ ] T008 Configure error handling and logging infrastructure
|
||||
- [ ] T009 Setup environment configuration management
|
||||
- [ ] T010 If networking changes, update the affected `hosts/<name>/firewall.nix`
|
||||
and import wiring in `hosts/<name>/configuration.nix`
|
||||
|
||||
**Checkpoint**: Foundation ready - user story implementation can now begin in parallel
|
||||
|
||||
@@ -83,17 +87,17 @@ Examples of foundational tasks (adjust based on your project):
|
||||
|
||||
> **NOTE: Write these tests FIRST, ensure they FAIL before implementation**
|
||||
|
||||
- [ ] T010 [P] [US1] Contract test for [endpoint] in tests/contract/test_[name].py
|
||||
- [ ] T011 [P] [US1] Integration test for [user journey] in tests/integration/test_[name].py
|
||||
- [ ] T011 [P] [US1] Contract test for [endpoint] in tests/contract/test_[name].py
|
||||
- [ ] T012 [P] [US1] Integration test for [user journey] in tests/integration/test_[name].py
|
||||
|
||||
### Implementation for User Story 1
|
||||
|
||||
- [ ] 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
|
||||
- [ ] T013 [P] [US1] Create [Entity1] model in src/models/[entity1].py
|
||||
- [ ] T014 [P] [US1] Create [Entity2] model in src/models/[entity2].py
|
||||
- [ ] T015 [US1] Implement [Service] in src/services/[service].py (depends on T013, T014)
|
||||
- [ ] T016 [US1] Implement [endpoint/feature] in src/[location]/[file].py
|
||||
- [ ] T017 [US1] Add validation and error handling
|
||||
- [ ] T018 [US1] Add logging for user story 1 operations
|
||||
|
||||
**Checkpoint**: At this point, User Story 1 should be fully functional and testable independently
|
||||
|
||||
@@ -107,15 +111,15 @@ Examples of foundational tasks (adjust based on your project):
|
||||
|
||||
### Tests for User Story 2 (OPTIONAL - only if tests requested) ⚠️
|
||||
|
||||
- [ ] 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
|
||||
- [ ] T019 [P] [US2] Contract test for [endpoint] in tests/contract/test_[name].py
|
||||
- [ ] T020 [P] [US2] Integration test for [user journey] in tests/integration/test_[name].py
|
||||
|
||||
### Implementation for User Story 2
|
||||
|
||||
- [ ] 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)
|
||||
- [ ] T021 [P] [US2] Create [Entity] model in src/models/[entity].py
|
||||
- [ ] T022 [US2] Implement [Service] in src/services/[service].py
|
||||
- [ ] T023 [US2] Implement [endpoint/feature] in src/[location]/[file].py
|
||||
- [ ] T024 [US2] Integrate with User Story 1 components (if needed)
|
||||
|
||||
**Checkpoint**: At this point, User Stories 1 AND 2 should both work independently
|
||||
|
||||
@@ -129,14 +133,14 @@ Examples of foundational tasks (adjust based on your project):
|
||||
|
||||
### Tests for User Story 3 (OPTIONAL - only if tests requested) ⚠️
|
||||
|
||||
- [ ] 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
|
||||
- [ ] T025 [P] [US3] Contract test for [endpoint] in tests/contract/test_[name].py
|
||||
- [ ] T026 [P] [US3] Integration test for [user journey] in tests/integration/test_[name].py
|
||||
|
||||
### Implementation for User Story 3
|
||||
|
||||
- [ ] 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
|
||||
- [ ] T027 [P] [US3] Create [Entity] model in src/models/[entity].py
|
||||
- [ ] T028 [US3] Implement [Service] in src/services/[service].py
|
||||
- [ ] T029 [US3] Implement [endpoint/feature] in src/[location]/[file].py
|
||||
|
||||
**Checkpoint**: All user stories should now be independently functional
|
||||
|
||||
|
||||
Reference in New Issue
Block a user