work work hard work
This commit is contained in:
55
src/Signals/AGENTS.md
Normal file
55
src/Signals/AGENTS.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Signals · AGENTS Charter
|
||||
|
||||
## Module Scope & Working Directory
|
||||
- Working directory: `src/Signals/**` (service + storage + tests).
|
||||
- Primary service: `src/Signals/StellaOps.Signals/` (tests under `src/Signals/__Tests/**`).
|
||||
- Mission: ingest and normalize reachability/runtime signals, then compute deterministic Unknowns scores/bands and decay to drive triage.
|
||||
|
||||
## Roles Covered
|
||||
- Backend engineer (.NET 10): ingestion, scoring/decay services, persistence, APIs.
|
||||
- QA / determinism: unit/property tests, golden fixtures, replayable scoring runs.
|
||||
- Observability: metrics/logging for scoring and decay batches.
|
||||
|
||||
## Required Reading (treat as read before DOING)
|
||||
- Global: `docs/README.md`, `docs/07_HIGH_LEVEL_ARCHITECTURE.md`, `docs/modules/platform/architecture-overview.md`.
|
||||
- Signals (Unknowns): `docs/signals/unknowns-registry.md`, `docs/modules/signals/unknowns/2025-12-01-unknowns-registry.md`.
|
||||
- Signals (Decay): `docs/modules/signals/decay/2025-12-01-confidence-decay.md`.
|
||||
- Reachability delivery guide (unknowns + runtime ingestion): `docs/reachability/DELIVERY_GUIDE.md`.
|
||||
- Related sprints (design + evidence):
|
||||
- `docs/implplan/archived/SPRINT_1102_0001_0001_unknowns_scoring_schema.md`
|
||||
- `docs/implplan/archived/SPRINT_1105_0001_0001_deploy_refs_graph_metrics.md`
|
||||
- `docs/implplan/archived/SPRINT_3601_0001_0001_unknowns_decay_algorithm.md`
|
||||
|
||||
## Contracts (Triage & Unknowns)
|
||||
|
||||
### Unknowns Scoring (5-factor)
|
||||
- Canonical formula (see `src/Signals/StellaOps.Signals/Services/UnknownsScoringService.cs`):
|
||||
- `Score = clamp01(wP*P + wE*E + wU*U + wC*C + wS*S)`
|
||||
- Bands:
|
||||
- HOT: `Score >= HotThreshold` (default `0.70`)
|
||||
- WARM: `WarmThreshold <= Score < HotThreshold` (default `0.40..0.70`)
|
||||
- COLD: `Score < WarmThreshold`
|
||||
- Configuration (must be stable across runs):
|
||||
- `Signals:UnknownsScoring` (see `src/Signals/StellaOps.Signals/Options/UnknownsScoringOptions.cs`)
|
||||
- `Signals:UnknownsDecay` (see `src/Signals/StellaOps.Signals/Options/UnknownsDecayOptions.cs`)
|
||||
- Determinism rules:
|
||||
- Never use randomness in scoring/banding.
|
||||
- Normalize inputs consistently (stable string comparisons via `StringComparer.Ordinal`, clamp ranges, avoid culture-dependent formatting).
|
||||
- If adding new uncertainty flags or normalization terms, version and document them; update fixtures/tests.
|
||||
|
||||
### Unknowns Decay
|
||||
- Nightly decay recomputes scores/bands and schedules rescans (see `src/Signals/StellaOps.Signals/Services/UnknownsDecayService.cs` and `src/Signals/StellaOps.Signals/Services/NightlyDecayWorker.cs`).
|
||||
- Time source must be injectable (`TimeProvider`) for deterministic tests.
|
||||
- Any scheduling defaults must remain offline-friendly and bounded (no tight loops, capped batch sizes).
|
||||
|
||||
## Testing & Validation
|
||||
- Prefer module-scoped runs:
|
||||
- `dotnet test src/Signals/__Tests/*/*.csproj -c Release`
|
||||
- Tests must cover:
|
||||
- Scoring determinism (same inputs -> same score/band).
|
||||
- Boundary conditions at `WarmThreshold`/`HotThreshold`.
|
||||
- Decay batch scheduling and time math (fixed `TimeProvider`).
|
||||
|
||||
## Delivery Discipline
|
||||
- Update sprint tracker statuses (`TODO -> DOING -> DONE/BLOCKED`) in `docs/implplan/SPRINT_*.md`.
|
||||
- Mirror the same status in `src/Signals/StellaOps.Signals/TASKS.md` when work starts/finishes.
|
||||
@@ -15,6 +15,24 @@ Provide language-agnostic collection, normalization, and scoring of reachability
|
||||
- `docs/modules/platform/architecture-overview.md`
|
||||
- `docs/signals/unknowns-registry.md`
|
||||
- `docs/reachability/DELIVERY_GUIDE.md` (unknowns + runtime ingestion sections)
|
||||
- Module front door: `src/Signals/AGENTS.md` (scoring/decay contract summary)
|
||||
|
||||
## Contracts (Triage & Unknowns)
|
||||
|
||||
### Unknowns Scoring (5-factor)
|
||||
- Canonical formula (implementation source of truth):
|
||||
- `src/Signals/StellaOps.Signals/Services/UnknownsScoringService.cs`
|
||||
- `Score = clamp01(wP*P + wE*E + wU*U + wC*C + wS*S)`
|
||||
- Configuration (must remain deterministic across runs):
|
||||
- `Signals:UnknownsScoring` (`src/Signals/StellaOps.Signals/Options/UnknownsScoringOptions.cs`)
|
||||
- `Signals:UnknownsDecay` (`src/Signals/StellaOps.Signals/Options/UnknownsDecayOptions.cs`)
|
||||
- Band thresholds (defaults): HOT `>= 0.70`, WARM `>= 0.40`, else COLD.
|
||||
|
||||
### Unknowns Decay
|
||||
- Nightly batch + rescan scheduling:
|
||||
- `src/Signals/StellaOps.Signals/Services/UnknownsDecayService.cs`
|
||||
- `src/Signals/StellaOps.Signals/Services/NightlyDecayWorker.cs`
|
||||
- Time handling must stay injectable (`TimeProvider`) to keep tests deterministic.
|
||||
|
||||
## Working Agreement
|
||||
- 1. Update task status to `DOING`/`DONE` in both correspoding sprint file `/docs/implplan/SPRINT_*.md` and the local `TASKS.md` when you start or finish work.
|
||||
|
||||
@@ -7,4 +7,5 @@ This file mirrors sprint work for the Signals module.
|
||||
| `SIG-STORE-401-016` | `docs/implplan/SPRINT_0401_0001_0001_reachability_evidence_chain.md` | DONE (2025-12-13) | Added reachability store repository APIs and models; callgraph ingestion now populates the store; Mongo index script at `ops/mongo/indices/reachability_store_indices.js`. |
|
||||
| `UNCERTAINTY-SCHEMA-401-024` | `docs/implplan/SPRINT_0401_0001_0001_reachability_evidence_chain.md` | DONE (2025-12-13) | Implemented uncertainty tiers and scoring integration; see `src/Signals/StellaOps.Signals/Lattice/UncertaintyTier.cs` and `src/Signals/StellaOps.Signals/Lattice/ReachabilityLattice.cs`. |
|
||||
| `UNCERTAINTY-SCORER-401-025` | `docs/implplan/SPRINT_0401_0001_0001_reachability_evidence_chain.md` | DONE (2025-12-13) | Reachability risk score now uses configurable entropy weights and is aligned with `UncertaintyDocument.RiskScore`; tests cover tier/entropy scoring. |
|
||||
| `UNKNOWNS-DECAY-3601-001` | `docs/implplan/SPRINT_3601_0001_0001_unknowns_decay_algorithm.md` | DOING (2025-12-15) | Implement decay worker/service, signal refresh hook, and deterministic unit/integration tests. |
|
||||
| `UNKNOWNS-DECAY-3601-001` | `docs/implplan/SPRINT_3601_0001_0001_unknowns_decay_algorithm.md` | DONE (2025-12-17) | Implemented decay worker/service, signal refresh hook, and deterministic unit/integration tests. |
|
||||
| `TRI-MASTER-0003` | `docs/implplan/SPRINT_3600_0001_0001_triage_unknowns_master.md` | DONE (2025-12-17) | Synced Signals AGENTS with Unknowns scoring/decay contracts and configuration sections. |
|
||||
|
||||
Reference in New Issue
Block a user