Refactor and update test projects, remove obsolete tests, and upgrade dependencies
- Deleted obsolete test files for SchedulerAuditService and SchedulerMongoSessionFactory. - Removed unused TestDataFactory class. - Updated project files for Mongo.Tests to remove references to deleted files. - Upgraded BouncyCastle.Cryptography package to version 2.6.2 across multiple projects. - Replaced Microsoft.Extensions.Http.Polly with Microsoft.Extensions.Http.Resilience in Zastava.Webhook project. - Updated NetEscapades.Configuration.Yaml package to version 3.1.0 in Configuration library. - Upgraded Pkcs11Interop package to version 5.1.2 in Cryptography libraries. - Refactored Argon2idPasswordHasher to use BouncyCastle for hashing instead of Konscious. - Updated JsonSchema.Net package to version 7.3.2 in Microservice project. - Updated global.json to use .NET SDK version 10.0.101.
This commit is contained in:
86
AGENTS.md
86
AGENTS.md
@@ -58,7 +58,7 @@ When you are told you are working in a particular module or directory, assume yo
|
||||
|
||||
* **Runtime**: .NET 10 (`net10.0`) with latest C# preview features. Microsoft.* dependencies should target the closest compatible versions.
|
||||
* **Frontend**: Angular v17 for the UI.
|
||||
* **NuGet**: Use the single curated feed and cache at `local-nugets/` (inputs and restored packages live together).
|
||||
* **NuGet**: Uses standard NuGet feeds configured in `nuget.config` (dotnet-public, nuget-mirror, nuget.org). Packages restore to the global NuGet cache.
|
||||
* **Data**: MongoDB as canonical store and for job/export state. Use a MongoDB driver version ≥ 3.0.
|
||||
* **Observability**: Structured logs, counters, and (optional) OpenTelemetry traces.
|
||||
* **Ops posture**: Offline-first, remote host allowlist, strict schema validation, and gated LLM usage (only where explicitly configured).
|
||||
@@ -269,12 +269,12 @@ In this role you act as:
|
||||
* **Angular v17 engineer** (UI).
|
||||
* **QA automation engineer** (C#, Moq, Playwright, Angular test stack, or other suitable tools).
|
||||
|
||||
Implementation principles:
|
||||
|
||||
* Always follow .NET 10 and Angular v17 best practices.
|
||||
* Apply SOLID design principles (SRP, OCP, LSP, ISP, DIP) in service and library code.
|
||||
* Maximise reuse and composability.
|
||||
* Maintain determinism: stable ordering, UTC ISO-8601 timestamps, immutable NDJSON where applicable.
|
||||
Implementation principles:
|
||||
|
||||
* Always follow .NET 10 and Angular v17 best practices.
|
||||
* Apply SOLID design principles (SRP, OCP, LSP, ISP, DIP) in service and library code.
|
||||
* Maximise reuse and composability.
|
||||
* Maintain determinism: stable ordering, UTC ISO-8601 timestamps, immutable NDJSON where applicable.
|
||||
|
||||
Execution rules (very important):
|
||||
|
||||
@@ -330,7 +330,7 @@ If no design decision is required, you proceed autonomously, implementing the ch
|
||||
|
||||
---
|
||||
|
||||
### 5) Working Agreement (Global)
|
||||
### 5) Working Agreement (Global)
|
||||
|
||||
1. **Task status discipline**
|
||||
|
||||
@@ -353,41 +353,41 @@ If no design decision is required, you proceed autonomously, implementing the ch
|
||||
5. **Completion**
|
||||
|
||||
* When you complete all tasks in scope for your current instruction set, explicitly state that you are done with those tasks.
|
||||
6. **AGENTS.md discipline**
|
||||
* Project / technical managers ensure each module’s `AGENTS.md` exists, is up to date, and reflects current design and advisory decisions.
|
||||
* Implementers must read and follow the relevant `AGENTS.md` before coding in a module.
|
||||
* If a mismatch or gap is found, implementers log it via `BLOCKED` status and the sprint’s **Decisions & Risks**, and then continue with other work instead of asking for live clarification.
|
||||
|
||||
---
|
||||
|
||||
### 7) Advisory Handling (do this every time a new advisory lands)
|
||||
|
||||
**Trigger:** Any new or updated file under `docs/product-advisories/` (including archived) automatically starts this workflow. No chat approval required.
|
||||
|
||||
1) **Doc sync (must happen for every advisory):**
|
||||
- Create/update **two layers**:
|
||||
- **High-level**: `docs/` (vision/key-features/market) to capture the moat/positioning and the headline promise.
|
||||
- **Detailed**: closest deep area (`docs/reachability/*`, `docs/market/*`, `docs/benchmarks/*`, `docs/modules/<module>/*`, etc.).
|
||||
- **Code & samples:**
|
||||
- Inline only short fragments (≤ ~20 lines) directly in the updated doc for readability.
|
||||
- Place runnable or longer samples/harnesses in `docs/benchmarks/**` or `tests/**` with deterministic, offline-friendly defaults (no network, fixed seeds), and link to them from the doc.
|
||||
- If the advisory already contains code, carry it over verbatim into the benchmark/test file (with minor formatting only); don’t paraphrase away executable value.
|
||||
- **Cross-links:** whenever moats/positioning change, add links from `docs/07_HIGH_LEVEL_ARCHITECTURE.md`, `docs/key-features.md`, and the relevant module dossier(s).
|
||||
|
||||
2) **Sprint sync (must happen for every advisory):**
|
||||
- Add Delivery Tracker rows in the relevant `SPRINT_*.md` with owners, deps, and doc paths; add an Execution Log entry for the change.
|
||||
- If code/bench/dataset work is implied, create tasks and point to the new benchmark/test paths; add risks/interlocks for schema/feed freeze or transparency caps as needed.
|
||||
|
||||
3) **De-duplication:**
|
||||
- Check `docs/product-advisories/archived/` for overlaps. If similar, mark “supersedes/extends <advisory>` in the new doc and avoid duplicate tasks.
|
||||
|
||||
4) **Defaults to apply (unless advisory overrides):**
|
||||
- Hybrid reachability posture: graph DSSE mandatory; edge-bundle DSSE optional/targeted; deterministic outputs only.
|
||||
- Offline-friendly benches/tests; frozen feeds; deterministic ordering/hashes.
|
||||
|
||||
5) **Do not defer:** Execute steps 1–4 immediately; reporting is after the fact, not a gating step.
|
||||
|
||||
**Lessons baked in:** Past delays came from missing code carry-over and missing sprint tasks. Always move advisory code into benchmarks/tests and open the corresponding sprint rows the same session you read the advisory.
|
||||
6. **AGENTS.md discipline**
|
||||
* Project / technical managers ensure each module’s `AGENTS.md` exists, is up to date, and reflects current design and advisory decisions.
|
||||
* Implementers must read and follow the relevant `AGENTS.md` before coding in a module.
|
||||
* If a mismatch or gap is found, implementers log it via `BLOCKED` status and the sprint’s **Decisions & Risks**, and then continue with other work instead of asking for live clarification.
|
||||
|
||||
---
|
||||
|
||||
### 7) Advisory Handling (do this every time a new advisory lands)
|
||||
|
||||
**Trigger:** Any new or updated file under `docs/product-advisories/` (including archived) automatically starts this workflow. No chat approval required.
|
||||
|
||||
1) **Doc sync (must happen for every advisory):**
|
||||
- Create/update **two layers**:
|
||||
- **High-level**: `docs/` (vision/key-features/market) to capture the moat/positioning and the headline promise.
|
||||
- **Detailed**: closest deep area (`docs/reachability/*`, `docs/market/*`, `docs/benchmarks/*`, `docs/modules/<module>/*`, etc.).
|
||||
- **Code & samples:**
|
||||
- Inline only short fragments (≤ ~20 lines) directly in the updated doc for readability.
|
||||
- Place runnable or longer samples/harnesses in `docs/benchmarks/**` or `tests/**` with deterministic, offline-friendly defaults (no network, fixed seeds), and link to them from the doc.
|
||||
- If the advisory already contains code, carry it over verbatim into the benchmark/test file (with minor formatting only); don’t paraphrase away executable value.
|
||||
- **Cross-links:** whenever moats/positioning change, add links from `docs/07_HIGH_LEVEL_ARCHITECTURE.md`, `docs/key-features.md`, and the relevant module dossier(s).
|
||||
|
||||
2) **Sprint sync (must happen for every advisory):**
|
||||
- Add Delivery Tracker rows in the relevant `SPRINT_*.md` with owners, deps, and doc paths; add an Execution Log entry for the change.
|
||||
- If code/bench/dataset work is implied, create tasks and point to the new benchmark/test paths; add risks/interlocks for schema/feed freeze or transparency caps as needed.
|
||||
|
||||
3) **De-duplication:**
|
||||
- Check `docs/product-advisories/archived/` for overlaps. If similar, mark “supersedes/extends <advisory>` in the new doc and avoid duplicate tasks.
|
||||
|
||||
4) **Defaults to apply (unless advisory overrides):**
|
||||
- Hybrid reachability posture: graph DSSE mandatory; edge-bundle DSSE optional/targeted; deterministic outputs only.
|
||||
- Offline-friendly benches/tests; frozen feeds; deterministic ordering/hashes.
|
||||
|
||||
5) **Do not defer:** Execute steps 1–4 immediately; reporting is after the fact, not a gating step.
|
||||
|
||||
**Lessons baked in:** Past delays came from missing code carry-over and missing sprint tasks. Always move advisory code into benchmarks/tests and open the corresponding sprint rows the same session you read the advisory.
|
||||
---
|
||||
|
||||
### 6) Role Switching
|
||||
|
||||
Reference in New Issue
Block a user