Repository navigation
Feature/aut 01 aut 06 lab drafts - #46
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Component and requirement IDs
backend/Platform.Authoring), Team 11Changes
backend/Platform.Authoring(Domain / Application / Infrastructure) and test projectbackend/Platform.Authoring.Tests. Both are added tobackend/SecurityLab.slnx, so the common CI job builds and tests them.LabContent(immutable, always valid),LabDraft(edit only in the Draft state, version number for concurrent edits),DraftService(create and edit use cases).LabTemplate, three built-in templates (access control, log analysis, secure configuration), and copy-to-draft with a new ID and a recorded source template.docs/components/AUT-authoring.md(architecture, DFD, security requirements, acceptance mapping), Team 11 row indocs/PROJECT_COMPONENTS.md, README updated with run/check instructions that use the solution file.main: the branch is based on the currentmain..github/workflows/ci.ymlis taken unchanged frommain(the earlier separate authoring job was removed because the solution-wide CI job covers it).Verification
dotnet build backend/SecurityLab.slnx --configuration Releaseanddotnet test backend/SecurityLab.slnx --configuration Release --no-build(same as CI).dotnet test backend/Platform.Authoring.Tests/Platform.Authoring.Tests.csproj --configuration Release— 55 NUnit test cases.Architecture and data flow
Domain(rules, no dependencies),Application(use cases and ports),Infrastructure(read-only built-in templates).DraftService→ access decision (IAuthoringAccess) → domain rules → draft store (IDraftRepository) / template store (ITemplateRepository, read-only). The trust boundary is at the API; authorization runs on the server before any data is read or changed.docs/components/AUT-authoring.md.Security checks and negative tests
FORBIDDEN, so draft IDs cannot be probed.CONFLICTand does not overwrite newer work.DRAFT_NOT_EDITABLE).Dependencies
IAuthoringAccessis this module's own port; until the Identity/Access modules provide an adapter, tests use a fake.IAccessDecisionadapter), PostgreSQL repository and migration, HTTP endpoints once authentication exists, audit events (AUD-*), hand-off of draft content to REV-01/REV-02.backend/Platform.Tests.