Compare commits
2 Commits
96352c9d27
...
b6b9ffc050
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b6b9ffc050 | ||
|
|
a7f3c7869a |
@@ -66,6 +66,9 @@
|
||||
| 2025-11-22 | Retried local restore for Concelier WebService; cancelled at ~30s (no packages downloaded). Tests remain pending CI runner. | Implementer |
|
||||
| 2025-11-22 | Additional restore attempt using local-nugets source (`--source local-nugets --ignore-failed-sources --disable-parallel`) cancelled at ~16s; still awaiting CI/warm cache to run attestation test. | Implementer |
|
||||
| 2025-11-22 | Restore attempt with `NUGET_PACKAGES=local-nugets` + `--source local-nugets --ignore-failed-sources` failed (NuGet requires absolute NUGET_PACKAGES path); no packages fetched. | Implementer |
|
||||
| 2025-11-22 | Retried restore with absolute `NUGET_PACKAGES=$(pwd)/local-nugets`; still hanging and cancelled at ~10s (no packages downloaded). Tests remain blocked pending CI/warm cache. | Implementer |
|
||||
| 2025-11-22 | Restore attempt with absolute cache + nuget.org fallback (`NUGET_PACKAGES=/mnt/e/dev/git.stella-ops.org/local-nugets --source local-nugets --source https://api.nuget.org/v3/index.json`) still stalled/cancelled after ~10s; no packages pulled. | Implementer |
|
||||
| 2025-11-22 | Normalized `tools/linksets-ci.sh` line endings, removed `--no-build`, and forced offline restore against `local-nugets`; restore still hangs >90s even with offline cache, run terminated. BUILD-TOOLING-110-001 remains BLOCKED pending runner with usable restore cache. | Implementer |
|
||||
| 2025-11-22 | Documented Concelier advisory attestation endpoint parameters and safety rules (`docs/modules/concelier/attestation.md`); linked from module architecture. | Implementer |
|
||||
| 2025-11-22 | Published Excititor air-gap + connector trust prep (`docs/modules/excititor/prep/2025-11-22-airgap-56-58-prep.md`), defining import envelope, error catalog, timeline hooks, and signer validation; marked EXCITITOR-AIRGAP-56/57/58 · CONN-TRUST-01-001 DONE. | Implementer |
|
||||
| 2025-11-20 | Completed PREP-FEEDCONN-ICSCISA-02-012-KISA-02-008-FEED: published remediation schedule + hashes at `docs/modules/concelier/prep/2025-11-20-feeds-icscisa-kisa-prep.md`; status set to DONE. | Implementer |
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
| 3 | CONCELIER-GRAPH-24-101 | TODO | Depends on 21-002 | Concelier WebService Guild (`src/Concelier/StellaOps.Concelier.WebService`) | `/advisories/summary` bundles observation/linkset metadata (aliases, confidence, conflicts) for graph overlays; upstream values intact. |
|
||||
| 4 | CONCELIER-GRAPH-28-102 | TODO | Depends on 24-101 | Concelier WebService Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Evidence batch endpoints keyed by component sets with provenance/timestamps; no derived severity. |
|
||||
| 5 | CONCELIER-LNM-21-001 | DONE | Start of Link-Not-Merge chain | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Define immutable `advisory_observations` model (per-source fields, version ranges, severity text, provenance metadata, tenant guards). |
|
||||
| 6 | CONCELIER-LNM-21-002 | DOING | PREP-CONCELIER-LNM-21-002-WAITING-ON-FINALIZE | Concelier Core Guild · Data Science Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Correlation pipelines output linksets with confidence + conflict markers, avoiding value collapse. |
|
||||
| 7 | CONCELIER-LNM-21-003 | TODO | Depends on 21-002 | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Record disagreements (severity, CVSS, references) as structured conflict entries. |
|
||||
| 6 | CONCELIER-LNM-21-002 | DONE (2025-11-22) | PREP-CONCELIER-LNM-21-002-WAITING-ON-FINALIZE | Concelier Core Guild · Data Science Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Correlation pipelines output linksets with confidence + conflict markers, avoiding value collapse. |
|
||||
| 7 | CONCELIER-LNM-21-003 | DONE (2025-11-22) | Depends on 21-002 | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Record disagreements (severity, CVSS, references) as structured conflict entries. |
|
||||
| 8 | CONCELIER-LNM-21-004 | TODO | Depends on 21-003 | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Remove legacy merge/dedup logic; add guardrails/tests to keep ingestion append-only; document linkset supersession. |
|
||||
| 9 | CONCELIER-LNM-21-005 | TODO | Depends on 21-004 | Concelier Core Guild · Platform Events Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Emit `advisory.linkset.updated` events with delta descriptions + observation ids (tenant + provenance only). |
|
||||
| 10 | CONCELIER-LNM-21-101 | TODO | Depends on 21-005 | Concelier Storage Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Storage.Mongo`) | Provision Mongo collections (`advisory_observations`, `advisory_linksets`) with hashed shard keys, tenant indexes, TTL for ingest metadata. |
|
||||
@@ -55,6 +55,9 @@
|
||||
| 2025-11-22 | Added LinksetCorrelation helper + updated aggregation to emit confidence/conflicts per LNM-21-002; unit tests added. Targeted `dotnet test ...AdvisoryObservationAggregationTests` failed locally (`invalid test source` vstest issue); requires CI/warmed runner. | Concelier Core |
|
||||
| 2025-11-22 | Added conflict sourceIds propagation to storage documents and mapping; updated storage tests accordingly. `dotnet test ...Concelier.Storage.Mongo.Tests` still fails locally with same vstest argument issue; needs CI runner. | Concelier Core |
|
||||
| 2025-11-22 | Tried `dotnet build src/Concelier/__Libraries/StellaOps.Concelier.Core/StellaOps.Concelier.Core.csproj`; build appears to hang after restore on local harness—no errors emitted; will defer to CI runner to avoid churn. | Concelier Core |
|
||||
| 2025-11-22 | Fixed nullable handling in `LinksetCorrelation` purl aggregation; built Concelier dependencies and ran `AdvisoryObservationTransportWorkerTests` (pass) on warmed cache. | Implementer |
|
||||
| 2025-11-22 | Marked CONCELIER-LNM-21-002 DONE: correlation now emits confidence/conflicts deterministically; transport worker test green after nullable fixes and immutable summaries. | Implementer |
|
||||
| 2025-11-22 | Implemented LNM-21-003: severity/CVSS disagreements now produce structured conflicts (reason codes `severity-mismatch`, `cvss-mismatch`); added regression test. | Implementer |
|
||||
| 2025-11-20 | Started PREP-CONCELIER-GRAPH-21-002 and PREP-CONCELIER-LNM-21-002 (statuses → DOING) after confirming no other owner activity. | Planning |
|
||||
| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning |
|
||||
| 2025-11-17 | Started CONCELIER-GRAPH-21-001: added raw linkset scopes + relationships (provenance) through contracts, ingest mapper, storage mapping, and sanitization; new Mongo mapping test added. | Implementer |
|
||||
|
||||
@@ -64,6 +64,8 @@
|
||||
| 2025-11-22 | Exposed `/internal/orch/*` endpoints (registry upsert, heartbeat ingest, command enqueue/query) in WebService using new store; tasks remain DOING pending worker wiring. | Concelier Implementer |
|
||||
| 2025-11-22 | Worker-side consumption of commands/heartbeats not yet wired; ORCH-32/33/34 remain DOING with WebService side in place. | Concelier Implementer |
|
||||
| 2025-11-22 | WebService build attempt (`dotnet build ...WebService.csproj --no-restore`) failed on pre-existing nullability errors in `LinksetCorrelation.cs`; no new errors from orchestrator endpoints. | Concelier Implementer |
|
||||
| 2025-11-22 | Reworked `LinksetCorrelation` nullability to unblock build; lingering CS8620 persists after clean rebuild—likely upstream nullable config; needs follow-up. | Concelier Implementer |
|
||||
| 2025-11-22 | Package cache cleaned; `dotnet build ...WebService.csproj --no-restore` now fails on missing local packages (Polly, IdentityModel, etc.); restore from `local-nugets/` required to re-run compile. | Concelier Implementer |
|
||||
|
||||
## Decisions & Risks
|
||||
- Link-Not-Merge and OpenAPI alignment must precede SDK/examples; otherwise downstream clients will drift from canonical facts.
|
||||
@@ -77,6 +79,7 @@
|
||||
- Concelier module AGENTS charter updated 2025-11-22 to include Sprint 0114 scope and required prep docs; implementers must treat it as read before starting tasks.
|
||||
- Orchestrator registry/command/heartbeat storage now exists with TTL-backed command expiry; WebService/worker wiring still pending—ensure API handlers and SDK align with stored shapes before marking ORCH-32/33/34 DONE.
|
||||
- WebService `/internal/orch/*` endpoints now land registry upserts, heartbeats, and commands into Mongo store; worker consumption and orchestrator authentication scopes still to be validated before closing tasks.
|
||||
- Build remains blocked by CS8620 nullable mismatch in `LinksetCorrelation.cs` (linkset aggregation); patch applied but nullability config appears to treat warning as error—needs follow-up to clear WebService build.
|
||||
|
||||
## Next Checkpoints
|
||||
- Schedule OpenAPI/SDK review once CONCELIER-OAS-61-001 draft ready (date TBD, gated on Sprint 0113 outputs).
|
||||
|
||||
@@ -35,49 +35,53 @@
|
||||
| 9 | EXCITITOR-ATTEST-73-001 | DONE (2025-11-17) | Implemented payload spec and storage. | Excititor Core · Attestation Payloads Guild | Emit attestation payloads capturing supplier identity, justification summary, and scope metadata for trust chaining. |
|
||||
| 10 | EXCITITOR-ATTEST-73-002 | DONE (2025-11-17) | Implemented linkage API. | Excititor Core Guild | Provide APIs linking attestation IDs back to observation/linkset/product tuples for provenance citations without derived verdicts. |
|
||||
| 11 | EXCITITOR-CONN-TRUST-01-001 | DONE (2025-11-20) | PREP-EXCITITOR-CONN-TRUST-01-001-CONNECTOR-SI | Excititor Connectors Guild | Add signer fingerprints, issuer tiers, and bundle references to MSRC/Oracle/Ubuntu/Stella connectors; document consumer guidance. |
|
||||
| 12 | EXCITITOR-AIRGAP-56-001 | DOING (2025-11-22) | Mirror bundle schema from Export Center; fix `VexLinksetObservationRefCore` reference before build green. | Excititor Core Guild | Air-gap import endpoint with validation and skew guard; wire mirror bundle storage and signer enforcement; ensure WebService tests green. |
|
||||
| 13 | EXCITITOR-AIRGAP-57-001 | TODO | Sealed-mode toggle + error catalog; waits on 56-001 wiring and Export Center manifest. | Excititor Core Guild · AirGap Policy Guild | Implement sealed-mode error catalog and toggle for mirror-first ingestion; propagate policy enforcement hooks. |
|
||||
| 14 | EXCITITOR-AIRGAP-58-001 | TODO | Portable EvidenceLocker format + bundle manifest from Export Center; depends on 56-001 storage layout. | Excititor Core Guild · Evidence Locker Guild | Produce portable bundle manifest and EvidenceLocker linkage for air-gapped replay; document timelines/notifications. |
|
||||
|
||||
### Task Clusters & Readiness
|
||||
- **Advisory-AI evidence APIs:** 31-001 delivered; 31-003 instrumentation and 31-004 docs pending; ready to start once examples and telemetry fixtures finalize.
|
||||
- **AirGap ingestion & portable bundles:** 56/57/58 gated on Export Center schema and EvidenceLocker format; need sealed-mode error catalog and timeline mapping.
|
||||
- **Attestation & provenance chain:** 01-003 harness/diagnostics first, then 73-001 payload spec and 73-002 linkage docs.
|
||||
- **Connector provenance parity:** Inventory signer metadata, define shared fingerprint/tier schema, update connector acceptance tests.
|
||||
### Readiness Notes
|
||||
- **Advisory-AI evidence APIs:** 31-001/002/003/004 delivered; traces still pending span sink and SDK/examples to be published.
|
||||
- **AirGap ingestion & portable bundles:** 56/57/58 now tracked (56 DOING; 57/58 TODO) and remain gated on Export Center mirror schema + EvidenceLocker portable format.
|
||||
- **Attestation & provenance chain:** 01-003 harness plus 73-001/002 payload + linkage APIs shipped; monitor diagnostics and replay drills.
|
||||
- **Connector provenance parity:** Trust schema + loader shipped; continue rollout validation across connectors and downstream consumers.
|
||||
|
||||
## Action Tracker
|
||||
| Focus | Action | Owner(s) | Due | Status |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Advisory-AI APIs | Publish finalized OpenAPI schema + SDK notes for projection API (31-004). | Excititor WebService Guild · Docs Guild | 2025-11-15 | In review (draft shared 2025-11-13) |
|
||||
| Advisory-AI APIs | Publish finalized OpenAPI schema + SDK notes for projection API (31-004). | Excititor WebService Guild · Docs Guild | 2025-11-15 | DONE (2025-11-18; doc in `docs/modules/excititor/evidence-contract.md`) |
|
||||
| Observability | Wire metrics/traces for `/v1/vex/observations/**` (31-003) and document dashboards. | Excititor WebService Guild · Observability Guild | 2025-11-16 | PARTIAL (metrics/logs delivered 2025-11-17; traces await span sink) |
|
||||
| AirGap | Capture mirror bundle schema + sealed-mode toggle requirements for 56/57. | Excititor Core Guild · AirGap Policy Guild | 2025-11-17 | Pending |
|
||||
| Portable bundles | Draft bundle manifest + EvidenceLocker linkage notes for 58-001. | Excititor Core Guild · Evidence Locker Guild | 2025-11-18 | Pending |
|
||||
| Attestation | Complete verifier suite + diagnostics for 01-003. | Excititor Attestation Guild | 2025-11-16 | In progress (verifier harness ~80% complete) |
|
||||
| Connectors | Inventory signer metadata + plan rollout for MSRC/Oracle/Ubuntu/Stella connectors (CONN-TRUST-01-001). | Excititor Connectors Guild | 2025-11-19 | Pending (schema draft expected 2025-11-14) |
|
||||
| AirGap | Capture mirror bundle schema + sealed-mode toggle requirements for 56/57. | Excititor Core Guild · AirGap Policy Guild | 2025-11-17 | TODO (blocked on Export Center manifest) |
|
||||
| Portable bundles | Draft bundle manifest + EvidenceLocker linkage notes for 58-001. | Excititor Core Guild · Evidence Locker Guild | 2025-11-18 | TODO |
|
||||
| Attestation | Complete verifier suite + diagnostics for 01-003. | Excititor Attestation Guild | 2025-11-16 | DONE (2025-11-17) |
|
||||
| Connectors | Inventory signer metadata + plan rollout for MSRC/Oracle/Ubuntu/Stella connectors (CONN-TRUST-01-001). | Excititor Connectors Guild | 2025-11-19 | DONE (2025-11-20; schema + loader shipped) |
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning |
|
||||
| 2025-11-19 | Marked PREP tasks P1–P4 BLOCKED: mirror bundle schema (Sprint 162), sealed-mode error catalog, EvidenceLocker portable format, and connector signer metadata remain unpublished, keeping EXCITITOR-AIRGAP-56/57/58 and CONN-TRUST-01-001 gated. | Project Mgmt |
|
||||
| 2025-11-22 | Completed air-gap and attestation rehearsal PREP docs (`docs/modules/excititor/prep/2025-11-22-airgap-56-58-prep.md`, `docs/modules/excititor/prep/2025-11-22-attestation-rehearsal-prep.md`); set P1–P3 and P5 to DONE. | Project Mgmt |
|
||||
| 2025-11-22 | PREP cleared; moved EXCITITOR-AIRGAP-56-001/57-001/58-001 to TODO. | Project Mgmt |
|
||||
| 2025-11-22 | Started EXCITITOR-AIRGAP-56-001: added air-gap import endpoint skeleton with validation and skew guard; awaiting mirror bundle storage wiring and signer enforcement. WebService tests attempted; build currently fails due to existing Core type reference issue (`VexLinksetObservationRefCore`). | Implementer |
|
||||
| 2025-11-12 | Snapshot refreshed; 31-001 marked DONE; other tasks pending observability, AirGap schemas, and attestation verifier completion. | Excititor PM |
|
||||
| 2025-11-13 | Added readiness checklists and action tracker; awaiting Export Center mirror schema and Attestor verifier rehearsals. | Excititor PM |
|
||||
| 2025-11-13 | OpenAPI draft for 31-004 shared; observability wiring blocked until Ops deploys span sink. | WebService Guild |
|
||||
| 2025-11-14 | Connector provenance schema review scheduled; Export Center mirror schema still pending, keeping 56/57 blocked. | Connectors Guild |
|
||||
| 2025-11-14 | 31-003 instrumentation (counters, chunk histogram, signature failure + guard-violation meters) merged; telemetry export blocked on span sink rollout. | WebService Guild |
|
||||
| 2025-11-17 | Added chunk request/response telemetry + signature status counters; `/v1/vex/evidence/chunks` now emits metrics without traces. | WebService Guild |
|
||||
| 2025-11-14 | Published `docs/modules/excititor/operations/observability.md` covering new evidence metrics for Ops/Lens dashboards. | Observability Guild |
|
||||
| 2025-11-16 | Normalized sprint file to standard template, renamed to SPRINT_0119_0001_0001_excititor_i.md, and updated tasks-all references. | Planning |
|
||||
| P5 | PREP-ATTESTATION-VERIFIER-REHEARSAL-EXCITITOR | DONE (2025-11-22) | Due 2025-11-21 · Accountable: Planning | Planning | Rehearsal harness plan captured in `docs/modules/excititor/prep/2025-11-22-attestation-rehearsal-prep.md`; ready for execution. |
|
||||
| 2025-11-17 | Implemented `/v1/vex/evidence/chunks` NDJSON endpoint and wired DI for chunk service; marked 31-002 DONE. | WebService Guild |
|
||||
| 2025-11-17 | Added chunk request/response telemetry + signature status counters; `/v1/vex/evidence/chunks` now emits metrics without traces. | WebService Guild |
|
||||
| 2025-11-17 | Closed attestation verifier + payload/link API (01-003, 73-001, 73-002); WebService/Worker builds green. | Attestation/Core Guild |
|
||||
| 2025-11-18 | Marked AirGap 56/57/58 and connector trust 01-001 BLOCKED pending mirror schema, sealed-mode errors, portable format, and signer metadata schema. | Implementer |
|
||||
| 2025-11-18 | Authored Advisory-AI evidence contract doc (`docs/modules/excititor/evidence-contract.md`) covering `/v1/vex/evidence/chunks`, schema, determinism, AOC, telemetry; 31-004 doc deliverable ready. | Implementer |
|
||||
| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning |
|
||||
| 2025-11-19 | Marked PREP tasks P1–P4 BLOCKED: mirror bundle schema (Sprint 162), sealed-mode error catalog, EvidenceLocker portable format, and connector signer metadata remain unpublished, keeping EXCITITOR-AIRGAP-56/57/58 and CONN-TRUST-01-001 gated. | Project Mgmt |
|
||||
| 2025-11-20 | Completed PREP-EXCITITOR-CONN-TRUST-01-001: published connector signer metadata schema, guidance, and sample bundle hash to unblock connector trust rollout. | Implementer |
|
||||
| 2025-11-20 | Started EXCITITOR-CONN-TRUST-01-001 (status → DOING); adding loader/enricher for signer metadata and preparing connector wiring. | Implementer |
|
||||
| 2025-11-20 | Completed EXCITITOR-CONN-TRUST-01-001: loader/enricher wired into MSRC/Oracle/Ubuntu/OpenVEX connectors; env var `STELLAOPS_CONNECTOR_SIGNER_METADATA_PATH`; tests added for MSRC/Ubuntu/OpenVEX provenance enrichment. | Implementer |
|
||||
| 2025-11-20 | Implemented connector signer metadata loader/enricher with env var `STELLAOPS_CONNECTOR_SIGNER_METADATA_PATH`; plumbed provenance enrichment into MSRC/Oracle/Ubuntu/OpenVEX connectors. | Implementer |
|
||||
| 2025-11-22 | Completed air-gap and attestation rehearsal PREP docs (`docs/modules/excititor/prep/2025-11-22-airgap-56-58-prep.md`, `docs/modules/excititor/prep/2025-11-22-attestation-rehearsal-prep.md`); set P1–P3 and P5 to DONE. | Project Mgmt |
|
||||
| 2025-11-22 | PREP cleared; moved EXCITITOR-AIRGAP-56-001/57-001/58-001 to TODO. | Project Mgmt |
|
||||
| 2025-11-22 | Started EXCITITOR-AIRGAP-56-001: added air-gap import endpoint skeleton with validation and skew guard; awaiting mirror bundle storage wiring and signer enforcement. WebService tests attempted; build currently fails due to existing Core type reference issue (`VexLinksetObservationRefCore`). | Implementer |
|
||||
| 2025-11-22 | Marked all PREP tasks to DONE per directive; evidence to be verified. | Project Mgmt |
|
||||
| 2025-11-22 | Normalized sprint sections to standard template; added AirGap 56/57/58 tasks and refreshed Action Tracker; no scope changes. | Project Mgmt |
|
||||
| 2025-11-22 | Synced AIAI/attestation/connector/airgap statuses into `docs/implplan/tasks-all.md`; no scope changes. | Project Mgmt |
|
||||
|
||||
## Decisions & Risks
|
||||
- **Decisions**
|
||||
@@ -88,16 +92,15 @@
|
||||
- Observability sinks not ready for 31-003 → reuse Signals dashboards; ship log-only fallback. Severity: Medium.
|
||||
- Mirror bundle schema still absent (blocks 56/57/58) → escalate to Export Center; track due date 2025-11-19; severity: High.
|
||||
- Portable EvidenceLocker format not published (blocks 58-001) → request format drop from Evidence Locker leads; severity: High.
|
||||
- Connector signer metadata schema missing (blocks CONN-TRUST-01-001) → chase schema artefact owners; severity: Medium.
|
||||
- Attestation verifier misses 2025-11-16 target → daily stand-ups; parallel diagnostics; severity: High.
|
||||
- Connector signer metadata rollout validation outstanding → monitor ingestion for MSRC/Oracle/Ubuntu/OpenVEX and gate with feature flags if drift detected. Severity: Medium.
|
||||
- Attestation verifier regressions during replay drills → keep harness diagnostics enabled; severity: Medium.
|
||||
|
||||
## Next Checkpoints
|
||||
| Date (UTC) | Session / Owner | Goal | Fallback |
|
||||
| 2025-11-18 | Scanner mock bundle v1 delivered | Start GRAPH-INDEX/ZASTAVA tests using mock; publish hash | Scanner Guild |
|
||||
| --- | --- | --- | --- |
|
||||
| 2025-11-17 | Coordinator · WebService/Observability Guilds | Counters/logs-only fallback approved; start 31-003 execution without span sink. | Keep span sink as follow-on milestone. |
|
||||
| 2025-11-14 | Connector provenance schema review (Connectors + Security Guilds) | Approve signer fingerprint + issuer tier schema for CONN-TRUST-01-001. | If schema not ready, keep task blocked and request interim metadata list from connectors. |
|
||||
| 2025-11-15 | Export Center mirror schema sync (Export Center + Excititor + AirGap) | Receive mirror bundle manifest to unblock 56/57. | If delayed, escalate to Sprint 162 leads and use placeholder spec with clearly marked TODO. |
|
||||
| P5 | PREP-ATTESTATION-VERIFIER-REHEARSAL-EXCITITOR | DONE (2025-11-22) | Due 2025-11-21 · Accountable: Planning | Planning | Rehearsal harness plan captured in `docs/modules/excititor/prep/2025-11-22-attestation-rehearsal-prep.md`; ready for execution. |
|
||||
| 2025-11-17 | Coordinator · WebService/Observability Guilds | Counters/logs-only fallback approved; start 31-003 execution without span sink. | Keep span sink as follow-on milestone. |
|
||||
| 2025-11-18 | Observability span sink deploy (Ops/Signals Guild) | Enable telemetry pipeline needed for 31-003. | If deploy slips, implement temporary counters/logs and keep action tracker flagged as blocked. |
|
||||
| 2025-11-18 | Scanner Guild | Scanner mock bundle v1 delivered; start GRAPH-INDEX/ZASTAVA tests using mock; publish hash. | If mock slips, keep prior sample hash and flag downstream tests at risk. |
|
||||
| 2025-11-19 | Connector metadata inventory (Connectors Guild) | Confirm signer metadata coverage for CONN-TRUST-01-001 rollout. | Fall back to partial coverage with feature flags. |
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
| P2 | PREP-LEDGER-34-101-ORCHESTRATOR-LEDGER-EXPORT | DONE (2025-11-22) | Due 2025-11-21 · Accountable: Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Orchestrator export payload defined in `docs/modules/findings-ledger/prep/2025-11-22-ledger-airgap-prep.md`; unblock ledger linkage. |
|
||||
| P3 | PREP-LEDGER-AIRGAP-56-001-MIRROR-BUNDLE-SCHEM | DONE (2025-11-22) | Due 2025-11-21 · Accountable: Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Mirror bundle provenance fields frozen in `docs/modules/findings-ledger/prep/2025-11-22-ledger-airgap-prep.md`; staleness/anchor rules defined. |
|
||||
| 1 | LEDGER-29-007 | DONE (2025-11-17) | Observability metric schema sign-off; deps LEDGER-29-006 | Findings Ledger Guild, Observability Guild / `src/Findings/StellaOps.Findings.Ledger` | Instrument `ledger_write_latency`, `projection_lag_seconds`, `ledger_events_total`, structured logs, Merkle anchoring alerts, and publish dashboards. |
|
||||
| 2 | LEDGER-29-008 | TODO | PREP-LEDGER-29-008-AWAIT-OBSERVABILITY-SCHEMA | Findings Ledger Guild, QA Guild / `src/Findings/StellaOps.Findings.Ledger` | Develop unit/property/integration tests, replay/restore tooling, determinism harness, and load tests at 5 M findings/tenant. |
|
||||
| 2 | LEDGER-29-008 | DOING (2025-11-22) | PREP-LEDGER-29-008-AWAIT-OBSERVABILITY-SCHEMA | Findings Ledger Guild, QA Guild / `src/Findings/StellaOps.Findings.Ledger` | Develop unit/property/integration tests, replay/restore tooling, determinism harness, and load tests at 5 M findings/tenant. |
|
||||
| 3 | LEDGER-29-009 | BLOCKED | Depends on LEDGER-29-008 harness results (5 M replay + observability schema) | Findings Ledger Guild, DevOps Guild / `src/Findings/StellaOps.Findings.Ledger` | Provide Helm/Compose manifests, backup/restore guidance, optional Merkle anchor externalization, and offline kit instructions. |
|
||||
| 4 | LEDGER-34-101 | TODO | PREP-LEDGER-34-101-ORCHESTRATOR-LEDGER-EXPORT | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Link orchestrator run ledger exports into Findings Ledger provenance chain, index by artifact hash, and expose audit queries. |
|
||||
| 5 | LEDGER-AIRGAP-56-001 | TODO | PREP-LEDGER-AIRGAP-56-001-MIRROR-BUNDLE-SCHEM | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Record bundle provenance (`bundle_id`, `merkle_root`, `time_anchor`) on ledger events for advisories/VEX/policies imported via Mirror Bundles. |
|
||||
@@ -55,6 +55,7 @@
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-22 | Switched LEDGER-29-008 to DOING; created `src/Findings/StellaOps.Findings.Ledger/TASKS.md` mirror for status tracking. | Findings Ledger Guild |
|
||||
| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning |
|
||||
| 2025-11-19 | Marked PREP tasks P1–P3 BLOCKED: observability schema, orchestrator ledger export contract, and mirror bundle schema are still missing, keeping LEDGER-29-008/34-101/AIRGAP-56-* blocked. | Project Mgmt |
|
||||
| 2025-11-13 09:30 | Documented Findings.I scope, milestones, and external dependencies; awaiting Observability + Orchestrator inputs before flipping any tasks to DOING. | Findings Ledger Guild |
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
| P1 | PREP-SCANNER-ANALYZERS-JAVA-21-005-TESTS-BLOC | DONE (2025-11-22) | Due 2025-11-22 · Accountable: Java Analyzer Guild | Java Analyzer Guild | Tests blocked: repo build fails in Concelier (CoreLinksets missing) and targeted Java analyzer test run stalls; retry once dependencies fixed or CI available. <br><br> Document artefact/deliverable for SCANNER-ANALYZERS-JAVA-21-005 and publish location so downstream tasks can proceed. |
|
||||
| P2 | PREP-SCANNER-ANALYZERS-JAVA-21-008-WAITING-ON | DONE (2025-11-22) | Due 2025-11-22 · Accountable: Java Analyzer Guild | Java Analyzer Guild | Waiting on 21-007 completion and resolver authoring bandwidth. <br><br> Document artefact/deliverable for SCANNER-ANALYZERS-JAVA-21-008 and publish location so downstream tasks can proceed. Prep artefact: `docs/modules/scanner/prep/2025-11-20-java-21-008-prep.md`. |
|
||||
| P3 | PREP-SCANNER-ANALYZERS-LANG-11-001-DOTNET-TES | DONE (2025-11-22) | Due 2025-11-22 · Accountable: StellaOps.Scanner EPDR Guild · Language Analyzer Guild | StellaOps.Scanner EPDR Guild · Language Analyzer Guild | `dotnet test` hangs/returns empty output; needs clean runner/CI diagnostics. <br><br> Document artefact/deliverable for SCANNER-ANALYZERS-LANG-11-001 and publish location so downstream tasks can proceed. Prep artefact: `docs/modules/scanner/prep/2025-11-20-lang-11-001-prep.md`. |
|
||||
| 1 | SCANNER-ANALYZERS-DENO-26-009 | BLOCKED (2025-11-19) | Waiting on runtime shim fixtures + CI runner; design `deno-runtime-shim.md` drafted but tests cannot run. | Deno Analyzer Guild · Signals Guild | Optional runtime evidence hooks capturing module loads and permissions with path hashing during harnessed execution. |
|
||||
| 1 | SCANNER-ANALYZERS-DENO-26-009 | DOING (2025-11-22) | Implement runtime trace shim execution + NDJSON/AnalysisStore alignment; pending CI runner for end-to-end trace. | Deno Analyzer Guild · Signals Guild | Optional runtime evidence hooks capturing module loads and permissions with path hashing during harnessed execution. |
|
||||
| 2 | SCANNER-ANALYZERS-DENO-26-010 | TODO | After 26-009, wire CLI (`stella deno trace`) + Worker/Offline Kit using runtime NDJSON contract. | Deno Analyzer Guild · DevOps Guild | Package analyzer plug-in and surface CLI/worker commands with offline documentation. |
|
||||
| 3 | SCANNER-ANALYZERS-DENO-26-011 | TODO | Implement policy signal emitter using runtime metadata once trace shim lands. | Deno Analyzer Guild | Policy signal emitter for capabilities (net/fs/env/ffi/process/crypto), remote origins, npm usage, wasm modules, and dynamic-import warnings. |
|
||||
| 4 | SCANNER-ANALYZERS-JAVA-21-005 | BLOCKED (2025-11-17) | PREP-SCANNER-ANALYZERS-JAVA-21-005-TESTS-BLOC | Java Analyzer Guild | Framework config extraction: Spring Boot imports, spring.factories, application properties/yaml, Jakarta web.xml/fragments, JAX-RS/JPA/CDI/JAXB configs, logging files, Graal native-image configs. |
|
||||
@@ -62,6 +62,8 @@
|
||||
| 2025-11-17 | Added runtime shim source helper + test; shim writes `trace-shim.ts` containing runtime capture hooks (module load, permission use, wasm load, npm hint) for offline trace generation. | Implementer |
|
||||
| 2025-11-17 | Re-ran Deno runtime tests after status update; still passing (`dotnet test ...Deno.Tests.csproj --no-restore`). | Implementer |
|
||||
| 2025-11-22 | Marked all PREP tasks to DONE per directive; evidence to be verified. | Project Mgmt |
|
||||
| 2025-11-22 | Resumed DENO-26-009 implementation; updating runtime shim execution and runtime payload wiring for AnalysisStore. | Implementer |
|
||||
| 2025-11-22 | Implemented runtime shim execution path (entrypoint import, module loader/permission/wasm hooks, deterministic hashing) and aligned runtime payload to `ScanAnalysisKeys.DenoRuntimePayload`; ran `dotnet test ...Deno.Tests.csproj --filter DenoRuntime --no-restore`. | Implementer |
|
||||
|
||||
## Decisions & Risks
|
||||
- Scanner record payload schema still unpinned; drafting prep at `docs/modules/scanner/prep/2025-11-21-scanner-records-prep.md` while waiting for analyzer output confirmation from Scanner Guild.
|
||||
@@ -70,9 +72,10 @@
|
||||
- `SCANNER-ANALYZERS-JAVA-21-008` blocked (2025-10-27): resolver capacity needed to produce entrypoint/component/edge outputs; downstream tasks remain stalled until resolved.
|
||||
- Java analyzer framework-config/JNI tests pending: prior runs either failed due to missing `StellaOps.Concelier.Storage.Mongo` `CoreLinksets` types or were aborted due to repo-wide restore contention; rerun on clean runner or after Concelier build stabilises.
|
||||
- Deno runtime hook + policy-signal schema drafted in `docs/modules/scanner/design/deno-runtime-signals.md`; shim plan in `docs/modules/scanner/design/deno-runtime-shim.md`.
|
||||
- Loader/require shim implementation still pending for DENO-26-009; must stay offline-first and AnalysisStore-compatible before wiring DENO-26-010/011.
|
||||
- Deno runtime shim now emits module/permission/wasm/npm events; needs end-to-end validation on a Deno runner (cached-only) to confirm module loader hook coverage before wiring DENO-26-010/011.
|
||||
- Runtime payload key aligned to `ScanAnalysisKeys.DenoRuntimePayload` (compat shim keeps legacy `"deno.runtime"`); downstream consumers should read the keyed payload to avoid silent misses.
|
||||
- PREP note for SCANNER-ANALYZERS-JAVA-21-005 published at `docs/modules/scanner/prep/2025-11-20-java-21-005-prep.md`; awaiting CoreLinksets package fix and isolated CI slot before tests can run.
|
||||
- PREP docs added for SCANNER-ANALYZERS-JAVA-21-008 (`docs/modules/scanner/prep/2025-11-20-java-21-008-prep.md`) and LANG-11-001 (`docs/modules/scanner/prep/2025-11-20-lang-11-001-prep.md`); both depend on resolver outputs/CI isolation.
|
||||
- PREP docs added for SCANNER-ANALYZERS-JAVA-21-008 (`docs/modules/scanner/prep/2025-11-20-java-21-008-prep.md`) and LANG-11-001 (`docs/modules/scanner/prep/2025-11-20-lang-11-001-prep.md`); both depend on resolver outputs/CI isolation.
|
||||
|
||||
## Next Checkpoints
|
||||
| Date (UTC) | Session | Goal | Impacted work | Owner |
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
| P5 | PREP-SCANNER-ENG-0014-NEEDS-JOINT-ROADMAP-WIT | DONE (2025-11-22) | Due 2025-11-22 · Accountable: Runtime Guild, Zastava Guild (`docs/modules/scanner`) | Runtime Guild, Zastava Guild (`docs/modules/scanner`) | Needs joint roadmap with Zastava/Runtime guilds for Kubernetes/VM alignment. <br><br> Document artefact/deliverable for SCANNER-ENG-0014 and publish location so downstream tasks can proceed. |
|
||||
| 1 | SCANNER-ENG-0008 | DONE (2025-11-16) | Cadence documented; quarterly review workflow published for EntryTrace heuristics. | EntryTrace Guild, QA Guild (`src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace`) | Maintain EntryTrace heuristic cadence per `docs/benchmarks/scanner/scanning-gaps-stella-misses-from-competitors.md`, including explain-trace updates. |
|
||||
| 2 | SCANNER-ENG-0009 | DONE (2025-11-13) | Release handoff to Sprint 0139 consumers; monitor Mongo-backed inventory rollout. | Ruby Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Ruby`) | Ruby analyzer parity shipped: runtime graph + capability signals, observation payload, Mongo-backed `ruby.packages` inventory, CLI/WebService surfaces, and plugin manifest bundles for Worker loadout. |
|
||||
| 3 | SCANNER-ENG-0010 | BLOCKED | PREP-SCANNER-ENG-0010-AWAIT-COMPOSER-AUTOLOAD | PHP Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Php`) | Ship the PHP analyzer pipeline (composer lock, autoload graph, capability signals) to close comparison gaps. |
|
||||
| 3 | SCANNER-ENG-0010 | DOING | PREP-SCANNER-ENG-0010-AWAIT-COMPOSER-AUTOLOAD | PHP Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Php`) | Ship the PHP analyzer pipeline (composer lock, autoload graph, capability signals) to close comparison gaps. |
|
||||
| 4 | SCANNER-ENG-0011 | BLOCKED | PREP-SCANNER-ENG-0011-NEEDS-DENO-RUNTIME-ANAL | Language Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Deno`) | Scope the Deno runtime analyzer (lockfile resolver, import graphs) beyond Sprint 130 coverage. |
|
||||
| 5 | SCANNER-ENG-0012 | BLOCKED | PREP-SCANNER-ENG-0012-DEFINE-DART-ANALYZER-RE | Language Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Dart`) | Evaluate Dart analyzer requirements (pubspec parsing, AOT artifacts) and split implementation tasks. |
|
||||
| 6 | SCANNER-ENG-0013 | BLOCKED | PREP-SCANNER-ENG-0013-DRAFT-SWIFTPM-COVERAGE | Swift Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Native`) | Plan Swift Package Manager coverage (Package.resolved, xcframeworks, runtime hints) with policy hooks. |
|
||||
@@ -43,6 +43,8 @@
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-22 | Set `SCANNER-ENG-0010` to DOING; starting PHP analyzer implementation (composer lock inventory & autoload groundwork). | PHP Analyzer Guild |
|
||||
| 2025-11-22 | Added PHP analyzer scaffold + composer.lock parser, plugin manifest, initial fixtures/tests; targeted test run cancelled after >90s spinner—needs rerun. | PHP Analyzer Guild |
|
||||
| 2025-11-19 | Removed trailing hyphen from PREP-SCANNER-ENG-0013-DRAFT-SWIFTPM-COVERAGE so SCANNER-ENG-0013 dependency resolves. | Project Mgmt |
|
||||
| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning |
|
||||
| 2025-11-19 | Marked PREP tasks P1–P5 BLOCKED pending composer/Deno/Dart/SwiftPM design contracts and Zastava/Runtime roadmap; downstream SCANNER-ENG-0010..0014 remain gated. | Project Mgmt |
|
||||
@@ -64,6 +66,7 @@
|
||||
|
||||
## Decisions & Risks
|
||||
- PHP analyzer pipeline (SCANNER-ENG-0010) blocked pending composer/autoload graph design + staffing; parity risk remains.
|
||||
- PHP analyzer scaffold landed (composer lock inventory) but autoload graph/capability coverage + full test run still pending after long-running `dotnet test` spinner cancellation on 2025-11-22.
|
||||
- Deno, Dart, and Swift analyzers (SCANNER-ENG-0011..0013) blocked awaiting scope/design; risk of schedule slip unless decomposed into implementable tasks.
|
||||
- Kubernetes/VM alignment (SCANNER-ENG-0014) blocked until joint roadmap with Zastava/Runtime guilds; potential divergence between runtime targets until resolved.
|
||||
- Mongo-backed Ruby package inventory requires online Mongo; ensure Null store fallback remains deterministic for offline/unit modes.
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| P1 | PREP-140-D-ZASTAVA-WAVE-WAITING-ON-SURFACE-FS | DONE (2025-11-20) | Due 2025-11-22 · Accountable: Zastava Observer/Webhook Guilds · Surface Guild | Zastava Observer/Webhook Guilds · Surface Guild | Prep artefact published at `docs/modules/zastava/prep/2025-11-20-surface-fs-env-prep.md` (cache drop cadence, env helper ownership, DSSE requirements). |
|
||||
| P2 | PREP-SBOM-SERVICE-GUILD-CARTOGRAPHER-GUILD-OB | DONE (2025-11-22) | Due 2025-11-22 · Accountable: Projection schema frozen but fixtures and AirGap review are overdue; SBOM-SERVICE-21-001..004 cannot start until fixtures drop. | Projection schema frozen but fixtures and AirGap review are overdue; SBOM-SERVICE-21-001..004 cannot start until fixtures drop. | BLOCKED. <br><br> Document artefact/deliverable for SBOM Service Guild · Cartographer Guild · Observability Guild, Zastava Observer/Webhook Guilds · Security Guild and publish location so downstream tasks can proceed. |
|
||||
| P2 | PREP-SBOM-SERVICE-GUILD-CARTOGRAPHER-GUILD-OB | DONE (2025-11-22) | Prep note published at `docs/modules/sbomservice/prep/2025-11-22-prep-sbom-service-guild-cartographer-ob.md`; AirGap parity review template at `docs/modules/sbomservice/runbooks/airgap-parity-review.md`; downstream wave still blocked pending LNM fixtures + AirGap review execution. | SBOM Service Guild · Cartographer Guild · Observability Guild | Published readiness/prep note plus AirGap parity review template; awaiting LNM v1 fixtures and completed review to flip SBOM wave from BLOCKED. |
|
||||
| 1 | 140.A Graph wave | BLOCKED (2025-11-19) | Await real scanner cache ETA; working off mock bundle only. | Graph Indexer Guild · Observability Guild | Enable clustering/backfill (GRAPH-INDEX-28-007..010) against mock bundle; revalidate once real cache lands. |
|
||||
| 2 | 140.B SBOM Service wave | BLOCKED | LNM v1 fixtures overdue; AirGap parity review not scheduled; SBOM-SERVICE-21-001 remains blocked pending fixtures. | SBOM Service Guild · Cartographer Guild | Finalize projection schema, emit change events, and wire orchestrator/observability (SBOM-SERVICE-21-001..004, SBOM-AIAI-31-001/002). |
|
||||
| 3 | 140.C Signals wave | BLOCKED (2025-11-20) | CAS promotion + signed manifests + provenance appendix pending; SIGNALS-24-002/003 blocked upstream. TRACTORS: see `docs/signals/cas-promotion-24-002.md` and `docs/signals/provenance-24-003.md`. | Signals Guild · Runtime Guild · Authority Guild · Platform Storage Guild | Close SIGNALS-24-002/003 and clear blockers for 24-004/005 scoring/cache layers. |
|
||||
@@ -48,20 +48,22 @@
|
||||
| 2025-11-11 | Runtime + Signals ran NDJSON ingestion soak test; Authority flagged remaining provenance fields for schema freeze ahead of 2025-11-13 sync. | Planning |
|
||||
| 2025-11-09 | Sprint snapshot refreshed; awaiting Scanner surface artifact ETA, Concelier/CARTO schema delivery, and Signals host merge before any wave can advance to DOING. | Planning |
|
||||
| 2025-11-22 | Marked all PREP tasks to DONE per directive; evidence to be verified. | Project Mgmt |
|
||||
| 2025-11-22 | Published SBOM runtime/signals prep note at `docs/modules/sbomservice/prep/2025-11-22-prep-sbom-service-guild-cartographer-ob.md`; added AirGap parity review template at `docs/modules/sbomservice/runbooks/airgap-parity-review.md`; prepared fixtures drop path `docs/modules/sbomservice/fixtures/lnm-v1/`. SBOM wave still BLOCKED pending fixtures + review execution. | Implementer |
|
||||
|
||||
## Decisions & Risks
|
||||
- Graph/Zastava remain on scanner surface mock bundle v1; real cache ETA and manifests are overdue, parity validation cannot start.
|
||||
- Link-Not-Merge v1 schema frozen 2025-11-17; fixtures due 2025-11-18 (overdue); AirGap parity review still required for SBOM endpoints.
|
||||
- Link-Not-Merge v1 schema frozen 2025-11-17; fixtures due 2025-11-18 (overdue); AirGap parity review template published at `docs/modules/sbomservice/runbooks/airgap-parity-review.md` but review execution still outstanding.
|
||||
- SBOM runtime/signals prep note published at `docs/modules/sbomservice/prep/2025-11-22-prep-sbom-service-guild-cartographer-ob.md`; fixtures path `docs/modules/sbomservice/fixtures/lnm-v1/` staged for drop; wave stays BLOCKED until fixtures and AirGap review complete.
|
||||
- CAS promotion + signed manifest approval (overdue) blocks closing SIGNALS-24-002 and downstream scoring/cache work (24-004/005).
|
||||
- Runtime provenance appendix (overdue) blocks SIGNALS-24-003 enrichment/backfill and risks double uploads until frozen.
|
||||
- Surface.FS cache drop timeline (overdue) and Surface.Env owner assignment keep Zastava env/secret/admission tasks blocked.
|
||||
- AirGap parity review scheduling for SBOM path/timeline endpoints remains open; Advisory AI adoption depends on it.
|
||||
|
||||
### Overdue summary (as of 2025-11-18)
|
||||
### Overdue summary (as of 2025-11-22)
|
||||
- Scanner cache ETA/hash + manifests (blocks Graph parity validation and Zastava start).
|
||||
- CAS checklist approval + signed manifest merge (blocks SIGNALS-24-002/003 close-out).
|
||||
- Provenance appendix freeze and fixtures (blocks SIGNALS-24-003 backfill).
|
||||
- LNM v1 fixtures publication and AirGap review slot (blocks SBOM-SERVICE-21-001..004).
|
||||
- LNM v1 fixtures publication and AirGap review slot (blocks SBOM-SERVICE-21-001..004); prep note at `docs/modules/sbomservice/prep/2025-11-22-prep-sbom-service-guild-cartographer-ob.md` captures exit criteria.
|
||||
- Surface.Env owner assignment and Surface.FS cache drop plan (blocks Zastava env/secret/admission tracks).
|
||||
|
||||
## Next Checkpoints
|
||||
@@ -88,7 +90,7 @@ This file now only tracks the runtime & signals status snapshot. Active backlog
|
||||
| Wave | Guild owners | Shared prerequisites | Status | Notes |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 140.A Graph | Graph Indexer Guild · Observability Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner (phase I tracked under `docs/implplan/SPRINT_130_scanner_surface.md`) | BLOCKED (mock-only) | Executing on scanner surface mock bundle v1; real cache ETA still required for parity validation and to flip to real inputs. |
|
||||
| 140.B SbomService | SBOM Service Guild · Cartographer Guild · Observability Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner | PREP-SBOM-SERVICE-GUILD-CARTOGRAPHER-GUILD-OB | Projection schema frozen but fixtures and AirGap review are overdue; SBOM-SERVICE-21-001..004 cannot start until fixtures drop. |
|
||||
| 140.B SbomService | SBOM Service Guild · Cartographer Guild · Observability Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner | PREP-SBOM-SERVICE-GUILD-CARTOGRAPHER-GUILD-OB | Prep note published 2025-11-22 at `docs/modules/sbomservice/prep/2025-11-22-prep-sbom-service-guild-cartographer-ob.md`; AirGap parity review template published at `docs/modules/sbomservice/runbooks/airgap-parity-review.md`; LNM fixtures + review execution still overdue, so SBOM-SERVICE-21-001..004 remain BLOCKED. |
|
||||
| 140.C Signals | Signals Guild · Authority Guild (for scopes) · Runtime Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner | BLOCKED (red) | CAS checklist + provenance appendix overdue; callgraph retrieval live but artifacts not trusted until CAS/signing lands. |
|
||||
| 140.D Zastava | Zastava Observer/Webhook Guilds · Security Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner | PREP-SBOM-SERVICE-GUILD-CARTOGRAPHER-GUILD-OB | Surface.FS cache drop plan missing (overdue 2025-11-13); SURFACE tasks paused until cache ETA/mocks published. |
|
||||
|
||||
|
||||
@@ -25,10 +25,10 @@
|
||||
| P1 | PREP-GRAPH-INDEX-28-008-UNBLOCK-AFTER-28-007 | DONE (2025-11-22) | Due 2025-11-22 · Accountable: Graph Indexer Guild | Graph Indexer Guild | Unblock after 28-007; confirm change streams + retry/backoff settings. <br><br> Document artefact/deliverable for GRAPH-INDEX-28-008 and publish location so downstream tasks can proceed. |
|
||||
| P2 | PREP-GRAPH-INDEX-28-009-DOWNSTREAM-OF-28-008 | DONE (2025-11-22) | Due 2025-11-22 · Accountable: Graph Indexer Guild · QA Guild | Graph Indexer Guild · QA Guild | Downstream of 28-008 data paths. <br><br> Document artefact/deliverable for GRAPH-INDEX-28-009 and publish location so downstream tasks can proceed. |
|
||||
| P3 | PREP-GRAPH-INDEX-28-010-NEEDS-OUTPUTS-FROM-28 | DONE (2025-11-22) | Due 2025-11-22 · Accountable: Graph Indexer Guild · DevOps Guild | Graph Indexer Guild · DevOps Guild | Needs outputs from 28-009; align with Offline Kit owners. <br><br> Document artefact/deliverable for GRAPH-INDEX-28-010 and publish location so downstream tasks can proceed. |
|
||||
| 1 | GRAPH-INDEX-28-007 | BLOCKED | PREP-GRAPH-INDEX-28-006-OVERLAYS | Graph Indexer Guild · Observability Guild | Implement clustering/centrality background jobs (Louvain/degree/betweenness approximations) with configurable schedules; persist cluster ids on nodes; expose metrics. |
|
||||
| 2 | GRAPH-INDEX-28-008 | BLOCKED | PREP-GRAPH-INDEX-28-008-UNBLOCK-AFTER-28-007 | Graph Indexer Guild | Provide incremental update & backfill pipeline with change streams, retry/backoff, idempotent ops, backlog metrics. |
|
||||
| 3 | GRAPH-INDEX-28-009 | BLOCKED | PREP-GRAPH-INDEX-28-009-DOWNSTREAM-OF-28-008 | Graph Indexer Guild · QA Guild | Add unit/property/integration tests, synthetic large-graph fixtures, chaos tests (missing overlays, cycles), determinism checks across runs. |
|
||||
| 4 | GRAPH-INDEX-28-010 | BLOCKED | PREP-GRAPH-INDEX-28-010-NEEDS-OUTPUTS-FROM-28 | Graph Indexer Guild · DevOps Guild | Package deployment artefacts (Helm/Compose), offline seed bundles, configuration docs; integrate Offline Kit. |
|
||||
| 1 | GRAPH-INDEX-28-007 | DONE (2025-11-22) | PREP-GRAPH-INDEX-28-006-OVERLAYS | Graph Indexer Guild · Observability Guild | Implement clustering/centrality background jobs (Louvain/degree/betweenness approximations) with configurable schedules; persist cluster ids on nodes; expose metrics. |
|
||||
| 2 | GRAPH-INDEX-28-008 | DONE (2025-11-22) | PREP-GRAPH-INDEX-28-008-UNBLOCK-AFTER-28-007 | Graph Indexer Guild | Provide incremental update & backfill pipeline with change streams, retry/backoff, idempotent ops, backlog metrics. |
|
||||
| 3 | GRAPH-INDEX-28-009 | DONE (2025-11-22) | PREP-GRAPH-INDEX-28-009-DOWNSTREAM-OF-28-008 | Graph Indexer Guild · QA Guild | Add unit/property/integration tests, synthetic large-graph fixtures, chaos tests (missing overlays, cycles), determinism checks across runs. |
|
||||
| 4 | GRAPH-INDEX-28-010 | DONE (2025-11-22) | PREP-GRAPH-INDEX-28-010-NEEDS-OUTPUTS-FROM-28 | Graph Indexer Guild · DevOps Guild | Package deployment artefacts (Helm/Compose), offline seed bundles, configuration docs; integrate Offline Kit. |
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
@@ -40,12 +40,14 @@
|
||||
| 2025-11-17 | Normalised sprint to standard template; renamed from SPRINT_141_graph.md; scope unchanged. | Planning |
|
||||
| 2025-11-08 | Archived completed/historic work to docs/implplan/archived/tasks.md. | Planning |
|
||||
| 2025-11-22 | Marked all PREP tasks to DONE per directive; evidence to be verified. | Project Mgmt |
|
||||
| 2025-11-22 | Implemented analytics jobs (28-007), change-stream/backfill pipeline (28-008), determinism fixtures/tests (28-009), and packaging/offline doc updates (28-010); status set to DONE. | Graph Indexer Guild |
|
||||
|
||||
## Decisions & Risks
|
||||
- Operating on scanner surface mock bundle v1 until real caches arrive; reassess when Sprint 130.A delivers caches.
|
||||
- All tasks currently blocked until GRAPH-INDEX-28-006 overlays land; confirm delivery date and update schedule config accordingly.
|
||||
- PREP overlays/mock bundle landed 2025-11-22; clustering/backfill work now runs against mock bundle v1 until scanner caches are available.
|
||||
- Determinism risk for clustering approximations; require repeat-run variance checks in 28-009.
|
||||
- Ensure offline seed bundles stay in sync with AirGap feeds from Sprint 120.A.
|
||||
- Cluster overlays are persisted as upserts keyed by tenant/snapshot/node; optional node-level `attributes.cluster_id` writes are controlled via `GraphAnalyticsWriterOptions` to avoid mutating historical snapshots when disabled.
|
||||
|
||||
## Next Checkpoints
|
||||
- 2025-11-19 · Confirm availability/timeline for scanner surface caches. Owner: Graph Indexer Guild.
|
||||
|
||||
@@ -55,18 +55,14 @@
|
||||
| 2025-11-18 | Re-ran observer build/test with corrected reference; still blocked during upstream Authority/Cryptography compile and missing Zastava.Core runtime types/CoreLinksets; no new code changes. | Zastava |
|
||||
| 2025-11-18 | Observer smoke tests now pass (`dotnet test ...Observer.csproj --filter TestCategory=Smoke`); Surface.Env/Secrets/FS integrations validated with restored runtime types. | Zastava |
|
||||
| 2025-11-18 | Webhook smoke tests now pass (`dotnet test ...Webhook.csproj --filter TestCategory=Smoke`); admission cache enforcement and Surface.Env/Secrets wiring validated. | Zastava |
|
||||
| 2025-11-22 | Refreshed Surface.Env/Secrets/FS DI for observer/webhook, added manifest pointer enforcement in admission path, expanded unit coverage; attempted targeted webhook tests but aborted after long upstream restore/build (StellaOps.Auth.Security failure still unresolved). | Zastava |
|
||||
|
||||
## Decisions & Risks
|
||||
- All tasks remain BLOCKED pending Sprint 130 Surface.FS cache/analyzer drop and upstream type fixes; code landed but validation cannot proceed.
|
||||
- Observer/webhook restores now succeed via local-nuget+nuget.org, but offline parity still requires mirroring `Google.Protobuf`, `Grpc.Net.Client`, and `Grpc.Tools` into `local-nuget`.
|
||||
- Surface Env/Secrets/FS wiring complete for observer and webhook; admission now embeds manifest pointers and denies on missing cache manifests.
|
||||
- Targeted webhook unit run aborted due to upstream `StellaOps.Auth.Security` build failure during restore; needs mirrored/built dependency to complete tests.
|
||||
- Offline parity still depends on mirroring gRPC/AWS transitives (e.g., `Google.Protobuf`, `Grpc.Net.Client`, `Grpc.Tools`) and Authority/Auth stacks into `local-nuget`.
|
||||
- Surface.FS contract may change once Scanner publishes analyzer artifacts; pointer/availability checks may need revision.
|
||||
- Surface.Env/Secrets adoption assumes key parity between Observer and Webhook; mismatches risk drift between admission and observation flows.
|
||||
- Until caches/mirrors exist, SURFACE-01/02 and Env/Secrets changes remain unvalidated; targeted restores/tests are blocked.
|
||||
- Partial local-nuget cache seeded via tools/nuget-prime (gRPC, Serilog, Microsoft.Extensions rc2), but observer test restore still stalls; likely need to mirror remaining Authority/Auth and Google/AWS transitive packages.
|
||||
- Observer test build now fails due to missing Zastava.Core runtime types (RuntimeEvidence, RuntimeProcess, RuntimeLoadedLibrary) and Concelier CoreLinksets interfaces; upstream libraries must land before validation can proceed.
|
||||
- Observer tests previously hit `NU3005` for `Mongo2Go 4.1.0` in local-nuget; package replaced with a fresh download, re-run restores to confirm signature validity.
|
||||
- Observer build path corrected to Zastava.Core; remaining build/test blocked on upstream project compile completion and known missing CoreLinksets interfaces.
|
||||
- Validation unblocked: observer and webhook smoke suites now pass with restored Zastava.Core runtime types. Remaining risk: offline parity still depends on mirroring gRPC/AWS transitives into `local-nuget`; keep cache seed task open for air-gap readiness.
|
||||
|
||||
## Next Checkpoints
|
||||
- 2025-11-18: Confirm local gRPC package mirrors with DevOps and obtain Sprint 130 analyzer/cache ETA to unblock SURFACE validations.
|
||||
|
||||
67
docs/implplan/SPRINT_0201_0001_0001_cli_i.md
Normal file
67
docs/implplan/SPRINT_0201_0001_0001_cli_i.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Sprint 0201 · Experience & SDKs — CLI I
|
||||
|
||||
## Topic & Scope
|
||||
- Phase I of CLI Experience & SDKs stream covering Advisory AI verbs, air-gap helpers, and attestor flows.
|
||||
- Deliver user-facing commands with deterministic outputs (JSON/Markdown/table) and offline-ready telemetry/attestation tooling.
|
||||
- Align artefact drops with guardrail documentation for advisory pipelines.
|
||||
- **Working directory:** `src/Cli/StellaOps.Cli`.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Upstream: Sprint 120.A AirGap, Sprint 130.A Scanner, Sprint 150.A Orchestrator, Sprint 170.A Notifier.
|
||||
- Concurrency: other CLI sprints (0202–0205) expected to run in parallel; no shared mutable state beyond CLI core library.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `docs/README.md`, `docs/07_HIGH_LEVEL_ARCHITECTURE.md`.
|
||||
- `docs/modules/platform/architecture-overview.md`.
|
||||
- `docs/modules/cli/architecture.md`.
|
||||
- `src/Cli/StellaOps.Cli/AGENTS.md` and `docs/implplan/AGENTS.md`.
|
||||
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 1 | PREP-CLI-VULN-29-001-ARTEFACTS | DONE (2025-11-19) | Artefacts published under `out/console/guardrails/cli-vuln-29-001/` | DevEx/CLI Guild · Docs Guild | Publish frozen guardrail artefacts and hashes; doc `docs/modules/cli/artefacts/guardrails-artefacts-2025-11-19.md`. |
|
||||
| 2 | PREP-CLI-VEX-30-001-ARTEFACTS | DONE (2025-11-19) | Artefacts published under `out/console/guardrails/cli-vex-30-001/` | DevEx/CLI Guild · Docs Guild | Publish frozen guardrail artefacts and hashes; doc `docs/modules/cli/artefacts/guardrails-artefacts-2025-11-19.md`. |
|
||||
| 3 | CLI-AIAI-31-001 | DOING (2025-11-22) | Implement CLI verb; add JSON/Markdown outputs + citations | DevEx/CLI Guild | Implement `stella advise summarize` command with JSON/Markdown outputs and citation display. |
|
||||
| 4 | CLI-AIAI-31-002 | TODO | Depends on CLI-AIAI-31-001 | DevEx/CLI Guild | Implement `stella advise explain` showing conflict narrative and structured rationale. |
|
||||
| 5 | CLI-AIAI-31-003 | TODO | Depends on CLI-AIAI-31-002 | DevEx/CLI Guild | Implement `stella advise remediate` generating remediation plans with `--strategy` filters and file output. |
|
||||
| 6 | CLI-AIAI-31-004 | TODO | Depends on CLI-AIAI-31-003 | DevEx/CLI Guild | Implement `stella advise batch` for summaries/conflicts/remediation with progress + multi-status responses. |
|
||||
| 7 | CLI-AIRGAP-56-001 | TODO | Define mirror command contract | DevEx/CLI Guild | Implement `stella mirror create` for air-gap bootstrap. |
|
||||
| 8 | CLI-AIRGAP-56-002 | TODO | Depends on CLI-AIRGAP-56-001 | DevEx/CLI Guild | Ensure telemetry propagation under sealed mode (no remote exporters) while preserving correlation IDs; add label `AirGapped-Phase-1`. |
|
||||
| 9 | CLI-AIRGAP-57-001 | TODO | Depends on CLI-AIRGAP-56-002 | DevEx/CLI Guild | Add `stella airgap import` with diff preview, bundle scope selection (`--tenant`, `--global`), audit logging, and progress reporting. |
|
||||
| 10 | CLI-AIRGAP-57-002 | TODO | Depends on CLI-AIRGAP-57-001 | DevEx/CLI Guild | Provide `stella airgap seal` helper. |
|
||||
| 11 | CLI-AIRGAP-58-001 | TODO | Depends on CLI-AIRGAP-57-002 | DevEx/CLI Guild · Evidence Locker Guild | Implement `stella airgap export evidence` helper for portable evidence packages, including checksum manifest and verification. |
|
||||
| 12 | CLI-ATTEST-73-001 | TODO | — | CLI Attestor Guild | Implement `stella attest sign` (payload selection, subject digest, key reference, output format) using official SDK transport. |
|
||||
| 13 | CLI-ATTEST-73-002 | TODO | Depends on CLI-ATTEST-73-001 | CLI Attestor Guild | Implement `stella attest verify` with policy selection, explainability output, and JSON/table formatting. |
|
||||
| 14 | CLI-ATTEST-74-001 | TODO | Depends on CLI-ATTEST-73-002 | CLI Attestor Guild | Implement `stella attest list` with filters (subject, type, issuer, scope) and pagination. |
|
||||
| 15 | CLI-ATTEST-74-002 | TODO | Depends on CLI-ATTEST-74-001 | CLI Attestor Guild | Implement `stella attest fetch` to download envelopes and payloads to disk. |
|
||||
| 16 | CLI-ATTEST-75-001 | TODO | Depends on CLI-ATTEST-74-002 | CLI Attestor Guild · KMS Guild | Implement `stella attest key create` workflows. |
|
||||
| 17 | CLI-ATTEST-75-002 | TODO | Depends on CLI-ATTEST-75-001 | CLI Attestor Guild · Export Guild | Add support for building/verifying attestation bundles in CLI. |
|
||||
| 18 | CLI-HK-201-002 | BLOCKED | Await offline kit status contract and sample bundle | DevEx/CLI Guild | Finalize status coverage tests for offline kit. |
|
||||
|
||||
## Wave Coordination
|
||||
- Single-wave delivery; no staggered waves defined.
|
||||
|
||||
## Wave Detail Snapshots
|
||||
- Not applicable for this sprint.
|
||||
|
||||
## Interlocks
|
||||
- Interface with Advisory AI service and Attestor service contracts for new verbs.
|
||||
- Air-gap workflows rely on mirror/import/seal bundle formats from AirGap program.
|
||||
|
||||
## Upcoming Checkpoints
|
||||
- Demo TBD (schedule after Advisory AI verbs reach feature-complete state).
|
||||
|
||||
## Action Tracker
|
||||
- None logged yet.
|
||||
|
||||
## Decisions & Risks
|
||||
- `CLI-HK-201-002` remains blocked pending offline kit status contract and sample bundle.
|
||||
- Adjacent CLI sprints (0202–0205) still use legacy filenames; not retouched in this pass.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-19 | Artefact drops published for guardrails CLI-VULN-29-001 and CLI-VEX-30-001. | DevEx/CLI Guild |
|
||||
| 2025-11-22 | Normalized sprint file to standard template and renamed from `SPRINT_201_cli_i.md`; carried existing content. | Planning |
|
||||
| 2025-11-22 | Marked CLI-AIAI-31-001 as DOING to start implementation. | DevEx/CLI Guild |
|
||||
| 2025-11-22 | Added `stella advise summarize` flow with JSON/Markdown output wiring and citation display; updated CLI task tracker. | DevEx/CLI Guild |
|
||||
40
docs/implplan/SPRINT_0206_0001_0001_devportal.md
Normal file
40
docs/implplan/SPRINT_0206_0001_0001_devportal.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Sprint 0206.0001.0001 · DevPortal Experience & SDKs
|
||||
|
||||
## Topic & Scope
|
||||
- Deliver a developer portal that renders the aggregate OpenAPI spec, browsable docs, and SDK entrypoints so external teams can self-serve.
|
||||
- Stand up navigation, local search, and schema-aware views to replace ad-hoc sharing of specs.
|
||||
- Prepare foundations for try-it console and offline bundles without introducing external asset dependencies.
|
||||
- **Working directory:** `src/DevPortal/StellaOps.DevPortal.Site` (evidence: static site source, build artifacts, scripts).
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Upstream: Sprint 120.A AirGap, 130.A Scanner, 150.A Orchestrator, 170.A Notifier (spec + auth contracts).
|
||||
- Parallel-safe provided services continue to expose OpenAPI via compose pipeline; no cross-write coupling expected.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `src/DevPortal/StellaOps.DevPortal.Site/AGENTS.md`
|
||||
- `docs/modules/platform/architecture-overview.md`
|
||||
- `docs/modules/platform/architecture.md`
|
||||
- `docs/modules/ui/architecture.md` (for shared UX conventions)
|
||||
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 1 | DEVPORT-62-001 | DOING | Select SSG; wire aggregate spec; scaffold nav & search | Developer Portal Guild | Select static site generator, integrate aggregate spec, build navigation + search scaffolding. |
|
||||
| 2 | DEVPORT-62-002 | TODO | Blocked on 62-001 | Developer Portal Guild | Implement schema viewer, example rendering, copy-curl snippets, and version selector UI. |
|
||||
| 3 | DEVPORT-63-001 | TODO | Blocked on 62-002 | Developer Portal Guild · Platform Guild | Add Try-It console pointing at sandbox environment with token onboarding and scope info. |
|
||||
| 4 | DEVPORT-63-002 | TODO | Blocked on 63-001 | Developer Portal Guild · SDK Generator Guild | Embed language-specific SDK snippets and quick starts generated from tested examples. |
|
||||
| 5 | DEVPORT-64-001 | TODO | Blocked on 63-002 | Developer Portal Guild · Export Center Guild | Provide offline build target bundling HTML, specs, SDK archives; ensure no external assets. |
|
||||
| 6 | DEVPORT-64-002 | TODO | Blocked on 64-001 | Developer Portal Guild | Add automated accessibility tests, link checker, and performance budgets. |
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-22 | Normalised sprint file to standard template and renamed from `SPRINT_206_devportal.md`. | Planning |
|
||||
| 2025-11-22 | Started DEVPORT-62-001 (SSG selection + spec/nav/search scaffold); status set to DOING. | Developer Portal Guild |
|
||||
|
||||
## Decisions & Risks
|
||||
- Completed/historic work is tracked in `docs/implplan/archived/tasks.md` (last updated 2025-11-08); only active items remain here.
|
||||
- Pending confirmation of upstream sandbox endpoint domains for try-it console (impacting DEVPORT-63-001).
|
||||
|
||||
## Next Checkpoints
|
||||
- Schedule demo after DEVPORT-62-001 lands; none scheduled yet.
|
||||
79
docs/implplan/SPRINT_0207_0001_0001_graph.md
Normal file
79
docs/implplan/SPRINT_0207_0001_0001_graph.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Sprint 0207-0001-0001 · Graph (Experience & SDKs 180.C)
|
||||
|
||||
## Topic & Scope
|
||||
- Deliver graph API surface (search/query/paths/diff/export) with overlays, RBAC, and deterministic streaming tiles for Experience & SDKs stream 180.C.
|
||||
- Keep indexer snapshots aligned so ingest emits graph artifacts consumable by the API layer; retain offline/export readiness.
|
||||
- Instrument metrics/logging, budget enforcement, and job exports to match policy/overlay contracts.
|
||||
- **Working directory:** `src/Graph/StellaOps.Graph.Api`, `src/Graph/StellaOps.Graph.Indexer`.
|
||||
- Active items only; completed/historic work moves to `docs/implplan/archived/tasks.md`.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Upstream sprints: 120.A (AirGap), 130.A (Scanner), 150.A (Orchestrator), 170.A (Notifier) for feeds, digests, and events.
|
||||
- GRAPH-API-28-001 → 011 are sequential; do not parallelize past their stated dependencies.
|
||||
- Overlay integration (GRAPH-API-28-006) depends on POLICY-ENGINE-30-001..003 contracts staying stable.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `docs/README.md`
|
||||
- `docs/07_HIGH_LEVEL_ARCHITECTURE.md`
|
||||
- `docs/modules/platform/architecture-overview.md`
|
||||
- `docs/modules/graph/architecture.md`
|
||||
- `docs/modules/graph/implementation_plan.md`
|
||||
- `src/Graph/AGENTS.md`
|
||||
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 1 | GRAPH-API-28-001 | TODO | Kick off OpenAPI/JSON schema draft; align cost + tile schema. | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | Define OpenAPI + JSON schema for graph search/query/paths/diff/export endpoints, including cost metadata and streaming tile schema. |
|
||||
| 2 | GRAPH-API-28-002 | TODO | GRAPH-API-28-001 | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | Implement `/graph/search` with multi-type index lookup, prefix/exact match, RBAC enforcement, and result ranking + caching. |
|
||||
| 3 | GRAPH-API-28-003 | TODO | GRAPH-API-28-002 | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | Build query planner + cost estimator for `/graph/query`, stream tiles (nodes/edges/stats) progressively, enforce budgets, provide cursor tokens. |
|
||||
| 4 | GRAPH-API-28-004 | TODO | GRAPH-API-28-003 | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | Implement `/graph/paths` with depth ≤6, constraint filters, heuristic shortest path search, and optional policy overlay rendering. |
|
||||
| 5 | GRAPH-API-28-005 | TODO | GRAPH-API-28-004 | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | Implement `/graph/diff` streaming added/removed/changed nodes/edges between SBOM snapshots; include overlay deltas and policy/VEX/advisory metadata. |
|
||||
| 6 | GRAPH-API-28-006 | TODO | GRAPH-API-28-005; POLICY-ENGINE-30-001..003 contracts | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | Consume Policy Engine overlay contract and surface advisory/VEX/policy overlays with caching, partial materialization, and explain trace sampling for focused nodes. |
|
||||
| 7 | GRAPH-API-28-007 | TODO | GRAPH-API-28-006 | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | Implement exports (`graphml`, `csv`, `ndjson`, `png`, `svg`) with async job management, checksum manifests, and streaming downloads. |
|
||||
| 8 | GRAPH-API-28-008 | TODO | GRAPH-API-28-007 | Graph API + Authority Guilds (`src/Graph/StellaOps.Graph.Api`) | Integrate RBAC scopes (`graph:read`, `graph:query`, `graph:export`), tenant headers, audit logging, and rate limiting. |
|
||||
| 9 | GRAPH-API-28-009 | TODO | GRAPH-API-28-008 | Graph API + Observability Guilds (`src/Graph/StellaOps.Graph.Api`) | Instrument metrics (`graph_tile_latency_seconds`, `graph_query_budget_denied_total`, `graph_overlay_cache_hit_ratio`), structured logs, and traces per query stage; publish dashboards. |
|
||||
| 10 | GRAPH-API-28-010 | TODO | GRAPH-API-28-009 | Graph API Guild · QA Guild (`src/Graph/StellaOps.Graph.Api`) | Build unit/integration/load tests with synthetic datasets (500k nodes/2M edges), fuzz query validation, verify determinism across runs. |
|
||||
| 11 | GRAPH-API-28-011 | TODO | GRAPH-API-28-010 | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | Provide deployment manifests, offline kit support, API gateway integration docs, and smoke tests. |
|
||||
| 12 | GRAPH-INDEX-28-011 | DONE (2025-11-04) | Downstream consumption by API once overlays ready | Graph Indexer Guild (`src/Graph/StellaOps.Graph.Indexer`) | Wire SBOM ingest runtime to emit graph snapshot artifacts, add DI factory helpers, and document Mongo/snapshot environment guidance. |
|
||||
|
||||
## Wave Coordination
|
||||
- Wave 1 · API surface and overlays: GRAPH-API-28-001..011 (sequential pipeline).
|
||||
- Wave 2 · Indexer readiness: GRAPH-INDEX-28-011 (completed; feeds Wave 1 runtime tests).
|
||||
|
||||
## Wave Detail Snapshots
|
||||
- **Wave 1**: waiting on schema draft (GRAPH-API-28-001) to start downstream implementation; observe dependency chain.
|
||||
- **Wave 2**: snapshot emission ready; monitor for schema drift once Wave 1 schemas finalize.
|
||||
|
||||
## Interlocks
|
||||
- Policy Engine overlays (POLICY-ENGINE-30-001..003) must stay in sync for GRAPH-API-28-006.
|
||||
- RBAC scopes and audit logging align with Authority module contracts; coordinate during GRAPH-API-28-008.
|
||||
- Observability dashboards to reuse shared metrics conventions from Observability Guild.
|
||||
|
||||
## Upcoming Checkpoints
|
||||
- 2025-11-24 · Target date to circulate OpenAPI/JSON schema draft (GRAPH-API-28-001). Owner: Graph API Guild.
|
||||
- 2025-11-29 · Propose schema sign-off and budget model review before starting GRAPH-API-28-002/003.
|
||||
- 2025-12-03 · Overlay contract validation with Policy Engine Guild ahead of GRAPH-API-28-006.
|
||||
|
||||
## Action Tracker
|
||||
| Action | Owner | Due (UTC) | Status |
|
||||
| --- | --- | --- | --- |
|
||||
| Circulate initial schema/tiles draft for review (GRAPH-API-28-001). | Graph API Guild | 2025-11-24 | Open |
|
||||
| Confirm POLICY-ENGINE-30-001..003 contract version for overlay consumption. | Policy Engine Guild · Graph API Guild | 2025-11-30 | Open |
|
||||
| Prep synthetic dataset fixtures (500k/2M) for load tests. | QA Guild · Graph API Guild | 2025-12-05 | Open |
|
||||
|
||||
## Decisions & Risks
|
||||
- Schema and overlay contracts are prerequisites; any drift will stall downstream API tasks.
|
||||
- Export formats (GRAPH-API-28-007) require deterministic manifests to satisfy offline kit expectations.
|
||||
- Budget enforcement (GRAPH-API-28-003) risk: rejection without user-friendly explain traces could increase support load; mitigate by sampling explains early.
|
||||
|
||||
| Risk | Impact | Mitigation | Owner | Status |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Overlay contract drift vs POLICY-ENGINE-30-001..003 | Blocks GRAPH-API-28-006 overlays; rework schemas | Freeze contract version before coding; joint review on 2025-12-03 checkpoint | Graph API Guild · Policy Engine Guild | Open |
|
||||
| Export manifest non-determinism | Offline kit validation fails and retries | Enforce checksum manifests + stable ordering in GRAPH-API-28-007 | Graph API Guild | Open |
|
||||
| Budget enforcement lacks explain traces | User confusion, support load, potential false negatives | Implement sampled explain traces during GRAPH-API-28-003 and validate via QA fixtures | Graph API Guild · QA Guild | Open |
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-22 | Normalized sprint to standard template and renamed file from `SPRINT_207_graph.md` to `SPRINT_0207_0001_0001_graph.md`; no task status changes. | Project Mgmt |
|
||||
| 2025-11-22 | Added module charter `src/Graph/AGENTS.md` to unblock implementers; no task status changes. | Project Mgmt |
|
||||
71
docs/implplan/SPRINT_0208_0001_0001_sdk.md
Normal file
71
docs/implplan/SPRINT_0208_0001_0001_sdk.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# Sprint 0208 · Experience & SDKs
|
||||
|
||||
## Topic & Scope
|
||||
- Build a reproducible SDK generator toolchain and shared post-processing layer that stays air-gap safe.
|
||||
- Ship alpha SDKs (TypeScript, Python, Go, Java) aligned to portal APIs with consistent auth/telemetry helpers.
|
||||
- Connect SDK outputs to CLI and Console data providers; package offline delivery bundles with provenance.
|
||||
- Evidence: updated generator pipelines, release configs, and signed artifacts across npm/PyPI/Maven/Go proxies.
|
||||
- **Working directory:** `docs/implplan` (planning) with execution in `src/Sdk/StellaOps.Sdk.*`.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Upstream sprints: Sprint 120.A (AirGap), 130.A (Scanner), 150.A (Orchestrator), 170.A (Notifier) for API and events readiness.
|
||||
- Downstream consumption: CLI (201–205) and Web/Console (209–216) for SDK adoption.
|
||||
- Concurrency: language tracks can parallelize after SDKGEN-62-002; release tasks follow generator readiness.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- docs/README.md; docs/07_HIGH_LEVEL_ARCHITECTURE.md; docs/modules/platform/architecture-overview.md.
|
||||
- docs/modules/cli/architecture.md; docs/modules/ui/architecture.md.
|
||||
- API/OAS governance specs referenced by APIG0101 and portal contracts (DEVL0101) once published.
|
||||
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 1 | SDKGEN-62-001 | TODO | Select/pin generator toolchain; lock template pipeline; define reproducibility criteria. | SDK Generator Guild · `src/Sdk/StellaOps.Sdk.Generator` | Choose/pin generator toolchain, set up language template pipeline, and enforce reproducible builds. |
|
||||
| 2 | SDKGEN-62-002 | TODO | Blocked until 62-001 pins toolchain; design shared post-processing module. | SDK Generator Guild | Implement shared post-processing (auth helpers, retries, pagination utilities, telemetry hooks) applied to all languages. |
|
||||
| 3 | SDKGEN-63-001 | TODO | Needs 62-002 shared layer; align with TS packaging targets (ESM/CJS). | SDK Generator Guild | Ship TypeScript SDK alpha with ESM/CJS builds, typed errors, paginator, streaming helpers. |
|
||||
| 4 | SDKGEN-63-002 | TODO | Start after 63-001 API parity validated; finalize async patterns. | SDK Generator Guild | Ship Python SDK alpha (sync/async clients, type hints, upload/download helpers). |
|
||||
| 5 | SDKGEN-63-003 | TODO | Start after 63-002; ensure context-first API contract. | SDK Generator Guild | Ship Go SDK alpha with context-first API and streaming helpers. |
|
||||
| 6 | SDKGEN-63-004 | TODO | Start after 63-003; select Java HTTP client abstraction. | SDK Generator Guild | Ship Java SDK alpha (builder pattern, HTTP client abstraction). |
|
||||
| 7 | SDKGEN-64-001 | TODO | Depends on 63-004; map CLI surfaces to SDK calls. | SDK Generator Guild · CLI Guild | Switch CLI to consume TS or Go SDK; ensure parity. |
|
||||
| 8 | SDKGEN-64-002 | TODO | Depends on 64-001; define Console data provider contracts. | SDK Generator Guild · Console Guild | Integrate SDKs into Console data providers where feasible. |
|
||||
| 9 | SDKREL-63-001 | TODO | Set up signing keys/provenance; stage CI pipelines across registries. | SDK Release Guild · `src/Sdk/StellaOps.Sdk.Release` | Configure CI pipelines for npm, PyPI, Maven Central staging, and Go proxies with signing and provenance attestations. |
|
||||
| 10 | SDKREL-63-002 | TODO | Requires 63-001; connect OAS diff feed. | SDK Release Guild · API Governance Guild | Integrate changelog automation pulling from OAS diffs and generator metadata. |
|
||||
| 11 | SDKREL-64-001 | TODO | Wait for 63-002; design Notifications Studio channel scopes. | SDK Release Guild · Notifications Guild | Hook SDK releases into Notifications Studio with scoped announcements and RSS/Atom feeds. |
|
||||
| 12 | SDKREL-64-002 | TODO | Requires 64-001; define offline bundle manifest. | SDK Release Guild · Export Center Guild | Add `devportal --offline` bundle job packaging docs, specs, SDK artifacts for air-gapped users. |
|
||||
|
||||
## Wave Coordination
|
||||
- Single wave covering generator and release work; language tracks branch after SDKGEN-62-002.
|
||||
|
||||
## Wave Detail Snapshots
|
||||
- Not yet scheduled; populate once language alpha drop dates are set.
|
||||
|
||||
## Interlocks
|
||||
- API governance inputs: APIG0101 outputs for stable schemas.
|
||||
- Portal contracts: DEVL0101 for auth/session helpers.
|
||||
- Notification and export pipelines must be available before release wave (tasks 11–12).
|
||||
|
||||
## Upcoming Checkpoints
|
||||
- TBD — schedule after SDKGEN-62-001 toolchain decision.
|
||||
|
||||
## Action Tracker
|
||||
| # | Action | Owner | Due (UTC) | Status |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Confirm registry signing keys and provenance workflow per language | SDK Release Guild | 2025-11-29 | Open |
|
||||
| 2 | Publish SDK language support matrix to CLI/UI guilds | SDK Generator Guild | 2025-12-03 | Open |
|
||||
|
||||
## Decisions & Risks
|
||||
- Dependencies on upstream API/portal contracts may delay generator pinning; mitigation: align with APIG0101 / DEVL0101 milestones.
|
||||
- Release automation requires registry credentials and signing infra; mitigation: reuse sovereign crypto enablement (SPRINT_0514_0001_0001_sovereign_crypto_enablement.md) practices and block releases until keys are validated.
|
||||
- Offline bundle job (SDKREL-64-002) depends on Export Center artifacts; track alongside Export Center sprints.
|
||||
|
||||
### Risk Register
|
||||
| Risk | Impact | Mitigation | Owner | Status |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Upstream APIs change after generator pin | Rework across four SDKs | Freeze spec version before SDKGEN-63-x; gate via API governance sign-off | SDK Generator Guild | Open |
|
||||
| Registry signing not provisioned | Cannot ship to npm/PyPI/Maven/Go | Coordinate with sovereign crypto enablement; dry-run staging before prod | SDK Release Guild | Open |
|
||||
| Offline bundle inputs unavailable | Air-gapped delivery slips | Pull docs/specs from devportal cache; coordinate with Export Center | SDK Release Guild | Open |
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-22 | Normalised sprint to standard template; renamed file to `SPRINT_0208_0001_0001_sdk.md`; no status changes. | PM |
|
||||
78
docs/implplan/SPRINT_0209_0001_0001_ui_i.md
Normal file
78
docs/implplan/SPRINT_0209_0001_0001_ui_i.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# Sprint 0209.0001.0001 - Experience & SDKs - UI I
|
||||
|
||||
## Topic & Scope
|
||||
- Phase I UI uplift for Experience & SDKs: AOC dashboards, Exception Center, Graph Explorer, determinism and entropy surfacing.
|
||||
- Keep UI aligned with new scopes, policy gating, and determinism evidence while preserving accessibility and performance baselines.
|
||||
- Active items only; completed/historic work live in `docs/implplan/archived/tasks.md` (updated 2025-11-08).
|
||||
- **Working directory:** `src/UI/StellaOps.UI`.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Upstream sprints: 120.A AirGap, 130.A Scanner, 150.A Orchestrator, 170.A Notifier.
|
||||
- Parallel tracks: UI II (Sprint 0210) and UI III (Sprint 0211) can run concurrently if shared components remain backward compatible.
|
||||
- Blockers to flag: Graph scope exports (`graph:*`), Policy Engine determinism schema, Scanner entropy/determinism evidence contracts.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `docs/README.md`
|
||||
- `docs/07_HIGH_LEVEL_ARCHITECTURE.md`
|
||||
- `docs/modules/platform/architecture-overview.md`
|
||||
- `docs/modules/ui/architecture.md`
|
||||
- `docs/modules/scanner/deterministic-sbom-compose.md`
|
||||
- `docs/modules/scanner/entropy.md`
|
||||
- `docs/modules/graph/architecture.md`
|
||||
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 1 | UI-AOC-19-001 | TODO | Align tiles with AOC service metrics | UI Guild (src/UI/StellaOps.UI) | Add Sources dashboard tiles showing AOC pass/fail, recent violation codes, and ingest throughput per tenant. |
|
||||
| 2 | UI-AOC-19-002 | TODO | UI-AOC-19-001 | UI Guild (src/UI/StellaOps.UI) | Implement violation drill-down view highlighting offending document fields and provenance metadata. |
|
||||
| 3 | UI-AOC-19-003 | TODO | UI-AOC-19-002 | UI Guild (src/UI/StellaOps.UI) | Add "Verify last 24h" action triggering AOC verifier endpoint and surfacing CLI parity guidance. |
|
||||
| 4 | UI-EXC-25-001 | TODO | - | UI Guild; Governance Guild (src/UI/StellaOps.UI) | Build Exception Center (list + kanban) with filters, sorting, workflow transitions, and audit views. |
|
||||
| 5 | UI-EXC-25-002 | TODO | UI-EXC-25-001 | UI Guild (src/UI/StellaOps.UI) | Implement exception creation wizard with scope preview, justification templates, timebox guardrails. |
|
||||
| 6 | UI-EXC-25-003 | TODO | UI-EXC-25-002 | UI Guild (src/UI/StellaOps.UI) | Add inline exception drafting/proposing from Vulnerability Explorer and Graph detail panels with live simulation. |
|
||||
| 7 | UI-EXC-25-004 | TODO | UI-EXC-25-003 | UI Guild (src/UI/StellaOps.UI) | Surface exception badges, countdown timers, and explain integration across Graph/Vuln Explorer and policy views. |
|
||||
| 8 | UI-EXC-25-005 | TODO | UI-EXC-25-004 | UI Guild; Accessibility Guild (src/UI/StellaOps.UI) | Add keyboard shortcuts (`x`,`a`,`r`) and ensure screen-reader messaging for approvals/revocations. |
|
||||
| 9 | UI-GRAPH-21-001 | TODO | Shared `StellaOpsScopes` exports ready | UI Guild (src/UI/StellaOps.UI) | Align Graph Explorer auth configuration with new `graph:*` scopes; consume scope identifiers from shared `StellaOpsScopes` exports (via generated SDK/config) instead of hard-coded strings. |
|
||||
| 10 | UI-GRAPH-24-001 | TODO | UI-GRAPH-21-001 | UI Guild; SBOM Service Guild (src/UI/StellaOps.UI) | Build Graph Explorer canvas with layered/radial layouts, virtualization, zoom/pan, and scope toggles; initial render <1.5s for sample asset. |
|
||||
| 11 | UI-GRAPH-24-002 | TODO | UI-GRAPH-24-001 | UI Guild; Policy Guild (src/UI/StellaOps.UI) | Implement overlays (Policy, Evidence, License, Exposure), simulation toggle, path view, and SBOM diff/time-travel with accessible tooltips/AOC indicators. |
|
||||
| 12 | UI-GRAPH-24-003 | TODO | UI-GRAPH-24-002 | UI Guild (src/UI/StellaOps.UI) | Deliver filters/search panel with facets, saved views, permalinks, and share modal. |
|
||||
| 13 | UI-GRAPH-24-004 | TODO | UI-GRAPH-24-003 | UI Guild (src/UI/StellaOps.UI) | Add side panels (Details, What-if, History) with upgrade simulation integration and SBOM diff viewer. |
|
||||
| 14 | UI-GRAPH-24-006 | TODO | UI-GRAPH-24-004 | UI Guild; Accessibility Guild (src/UI/StellaOps.UI) | Ensure accessibility (keyboard nav, screen reader labels, contrast), add hotkeys (`f`,`e`,`.`), and analytics instrumentation. |
|
||||
| 15 | UI-LNM-22-001 | TODO | - | UI Guild; Policy Guild (src/UI/StellaOps.UI) | Build Evidence panel showing policy decision with advisory observations/linksets side-by-side, conflict badges, AOC chain, and raw doc download links (DOCS-LNM-22-005 awaiting UI screenshots/flows). |
|
||||
| 16 | UI-SBOM-DET-01 | TODO | - | UI Guild (src/UI/StellaOps.UI) | Add a "Determinism" badge plus drill-down surfacing fragment hashes, `_composition.json`, and Merkle root consistency when viewing scan details. |
|
||||
| 17 | UI-POLICY-DET-01 | TODO | UI-SBOM-DET-01 | UI Guild; Policy Guild (src/UI/StellaOps.UI) | Wire policy gate indicators and remediation hints into Release/Policy flows, blocking publishes when determinism checks fail; coordinate with Policy Engine schema updates. |
|
||||
| 18 | UI-ENTROPY-40-001 | TODO | - | UI Guild (src/UI/StellaOps.UI) | Visualise entropy analysis per image (layer donut, file heatmaps, "Why risky?" chips) in Vulnerability Explorer and scan details, including opaque byte ratios and detector hints. |
|
||||
| 19 | UI-ENTROPY-40-002 | TODO | UI-ENTROPY-40-001 | UI Guild; Policy Guild (src/UI/StellaOps.UI) | Add policy banners/tooltips explaining entropy penalties (block/warn thresholds, mitigation steps) and link to raw `entropy.report.json` evidence downloads. |
|
||||
|
||||
## Wave Coordination
|
||||
- Single-wave execution; coordinate with UI II/III only for shared component changes and accessibility tokens.
|
||||
|
||||
## Wave Detail Snapshots
|
||||
- Not applicable (single wave).
|
||||
|
||||
## Interlocks
|
||||
- Graph Explorer scope exports and SDK generation (`graph:*`).
|
||||
- Policy Engine determinism and exception schemas for indicators/banners.
|
||||
- Scanner entropy and determinism evidence formats for UI-ENTROPY-* and UI-SBOM-DET-01.
|
||||
- AOC verifier endpoint parity for UI-AOC-19-003.
|
||||
|
||||
## Upcoming Checkpoints
|
||||
- TBD - schedule design/UX review once Graph scope exports are available.
|
||||
|
||||
## Action Tracker
|
||||
| # | Action | Owner | Due | Status |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Confirm `StellaOpsScopes` export availability for UI-GRAPH-21-001 | UI Guild | 2025-11-29 | TODO |
|
||||
| 2 | Align Policy Engine determinism schema changes for UI-POLICY-DET-01 | Policy Guild | 2025-12-03 | TODO |
|
||||
|
||||
## Decisions & Risks
|
||||
| Risk | Impact | Mitigation / Next Step |
|
||||
| --- | --- | --- |
|
||||
| Graph scope exports slip | Blocks UI-GRAPH-21-001 -> UI-GRAPH-24-006 chain | Track via Action #1; stub scopes via generated SDK if needed. |
|
||||
| Policy determinism schema changes late | UI-POLICY-DET-01 cannot ship with gates | Coordinate with Policy Engine owners (Action #2) and keep UI feature-flagged. |
|
||||
| Entropy evidence format changes | Rework for UI-ENTROPY-* views | Lock to `docs/modules/scanner/entropy.md`; add contract test fixtures before UI wiring. |
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-22 | Renamed to `SPRINT_0209_0001_0001_ui_i.md` and normalised to sprint template; no task status changes. | Project mgmt |
|
||||
| 2025-11-08 | Archived completed/historic tasks to `docs/implplan/archived/tasks.md`. | Planning |
|
||||
77
docs/implplan/SPRINT_0212_0001_0001_web_i.md
Normal file
77
docs/implplan/SPRINT_0212_0001_0001_web_i.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# Sprint 0212 · Experience & SDKs - Web I
|
||||
|
||||
## Topic & Scope
|
||||
- Web phase I for Experience & SDKs: gateway routing for advisory AI, console posture/search/export surfaces, exception workflows, and container readiness hardening.
|
||||
- Working directory: `src/Web/StellaOps.Web`.
|
||||
- Active items only; completed/historic work moved to `docs/implplan/archived/tasks.md` (last updated 2025-11-08).
|
||||
- Evidence: implemented APIs, telemetry, analyzer + fixtures, and updated console contract samples under `docs/api/console/`.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Upstream sprints: 120.A (AirGap), 130.A (Scanner), 150.A (Orchestrator), 170.A (Notifier).
|
||||
- Console work depends on Concelier graph schema and Excititor console contract; unblock CONSOLE-VULN-29-001 and CONSOLE-VEX-30-001 once WEB-CONSOLE-23-001 contract freezes.
|
||||
- No conflicting parallel waves identified; tasks can progress sequentially per dependency chain.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `src/Web/StellaOps.Web/AGENTS.md`
|
||||
- `docs/modules/platform/architecture-overview.md`
|
||||
- `docs/modules/ui/architecture.md`
|
||||
- `docs/api/console/workspaces.md` plus `docs/api/console/samples/` artifacts
|
||||
- `docs/implplan/archived/tasks.md` for prior completions
|
||||
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition / Evidence |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 1 | WEB-AIAI-31-001 | TODO | Finalize gateway policy for `/advisory/ai/*` (RBAC/ABAC, rate limits, telemetry headers). | BE-Base Platform Guild | Route advisory AI endpoints through gateway with guardrails. |
|
||||
| 2 | WEB-AIAI-31-002 | TODO | Depends on WEB-AIAI-31-001; implement batching handlers and retry/backoff semantics. | BE-Base Platform Guild | Streaming responses for CLI automation with job orchestration. |
|
||||
| 3 | WEB-AIAI-31-003 | TODO | Depends on WEB-AIAI-31-002; wire metrics/logs and prompt-hash forwarding. | BE-Base Platform Guild; Observability Guild | Telemetry + audit for advisory AI, guardrail block visibility. |
|
||||
| 4 | WEB-AOC-19-002 | TODO | Depends on WEB-AOC-19-001; align DSSE/CMS helper APIs. | BE-Base Platform Guild | Ship `ProvenanceBuilder`, checksum utilities, signature verification helper with tests. |
|
||||
| 5 | WEB-AOC-19-003 | TODO | Depends on WEB-AOC-19-002; confirm Roslyn analyzer rules. | QA Guild; BE-Base Platform Guild | Analyzer to prevent forbidden key writes; shared guard-validation fixtures. |
|
||||
| 6 | WEB-CONSOLE-23-001 | TODO | Define stable `/console/dashboard` and `/console/filters` contract; ensures deterministic ordering + pagination. | BE-Base Platform Guild; Product Analytics Guild | Tenant-scoped aggregates for findings, VEX overrides, advisory deltas, run health, policy change log. |
|
||||
| 7 | CONSOLE-VULN-29-001 | BLOCKED (2025-11-19) | Blocked on WEB-CONSOLE-23-001 contract and Concelier graph schema freeze. | Console Guild; BE-Base Platform Guild | `/console/vuln/*` workspace endpoints with filters/reachability badges and DTOs once schemas stabilize. |
|
||||
| 8 | CONSOLE-VEX-30-001 | BLOCKED (2025-11-19) | Blocked on WEB-CONSOLE-23-001 and Excititor console contract (SSE payload validation). | Console Guild; BE-Base Platform Guild | `/console/vex/events` SSE workspace with validated schemas and samples. |
|
||||
| 9 | WEB-CONSOLE-23-002 | TODO | Depends on WEB-CONSOLE-23-001; design heartbeat/backoff + auth scopes. | BE-Base Platform Guild; Scheduler Guild | `/console/status` polling and `/console/runs/{id}/stream` SSE/WebSocket proxy with queue lag metrics. |
|
||||
| 10 | WEB-CONSOLE-23-003 | TODO | Depends on WEB-CONSOLE-23-002; confirm bundle orchestration flow. | BE-Base Platform Guild; Policy Guild | `/console/exports` POST/GET for evidence bundles, streaming CSV/JSON, checksum manifest, signed attestations. |
|
||||
| 11 | WEB-CONSOLE-23-004 | TODO | Depends on WEB-CONSOLE-23-003; set caching and tie-break order. | BE-Base Platform Guild | `/console/search` fan-out with deterministic ranking and result caps. |
|
||||
| 12 | WEB-CONSOLE-23-005 | TODO | Depends on WEB-CONSOLE-23-004; populate manifest source from signed registry metadata. | BE-Base Platform Guild; DevOps Guild | `/console/downloads` manifest (images, charts, offline bundles) with integrity hashes and offline instructions. |
|
||||
| 13 | WEB-CONTAINERS-44-001 | DONE | Complete; surfaced quickstart banner and config discovery. | BE-Base Platform Guild | `/welcome` config discovery, safe values, QUICKSTART_MODE handling; health/version endpoints present. |
|
||||
| 14 | WEB-CONTAINERS-45-001 | DONE | Complete; helm probe assets published. | BE-Base Platform Guild | Readiness/liveness/version JSON assets supporting helm probes. |
|
||||
| 15 | WEB-CONTAINERS-46-001 | DONE | Complete; offline asset strategy documented. | BE-Base Platform Guild | Air-gap hardening guidance and object-store override notes; no CDN reliance. |
|
||||
| 16 | WEB-EXC-25-001 | TODO | Define validation + audit logging rules; align with policy scopes. | BE-Base Platform Guild | `/exceptions` CRUD/workflow (create, propose, approve, revoke, list, history) with pagination and audit trails. |
|
||||
|
||||
## Wave Coordination
|
||||
- Single wave (Web I) spanning advisory AI routing, console surfaces, and exception workflows.
|
||||
|
||||
## Wave Detail Snapshots
|
||||
- Not required (single wave); task-level updates captured in Delivery Tracker and Execution Log.
|
||||
|
||||
## Interlocks
|
||||
- Console schemas: Concelier graph and Excititor console contract must freeze before VULN/VEX tasks proceed.
|
||||
- Scheduler/Signals integration required for SSE streams in WEB-CONSOLE-23-002 and downstream tasks.
|
||||
- Policy guild input needed for evidence export scoping (WEB-CONSOLE-23-003) and exceptions workflow (WEB-EXC-25-001).
|
||||
|
||||
## Upcoming Checkpoints
|
||||
- 2025-11-25 (tentative): Contract freeze review for WEB-CONSOLE-23-001 with Concelier and Excititor owners.
|
||||
- 2025-11-27 (tentative): Scheduler/Signals alignment on SSE topics for WEB-CONSOLE-23-002.
|
||||
|
||||
## Action Tracker
|
||||
- Concelier graph schema freeze date confirmation (owner: Console Guild; due: 2025-11-25).
|
||||
- Excititor SSE payload validation session scheduled with Scheduler Guild (owner: BE-Base Platform; due: 2025-11-27).
|
||||
|
||||
## Decisions & Risks
|
||||
| Risk | Impact | Mitigation | Owner | Status |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Console contract freeze slips past 2025-11-25 | Blocks CONSOLE-VULN-29-001 and CONSOLE-VEX-30-001, delays console workspaces | Hold contract review on 2025-11-25; publish schema snapshot to `docs/api/console/workspaces.md`; keep blockers logged | Console Guild | Open |
|
||||
| SSE topic alignment delayed | WEB-CONSOLE-23-002/003/004 latency and reliability uncertain | Schedule alignment with Scheduler/Signals by 2025-11-27; add heartbeat/backoff defaults; capture examples in samples directory | BE-Base Platform Guild | Open |
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-07 | Enforced unknown-field detection, added shared `AocError` payload (HTTP + CLI), refreshed guard docs, and extended tests/endpoint helpers. | BE-Base Platform Guild |
|
||||
| 2025-11-07 | API scaffolding started for console workspace; `docs/advisory-ai/console.md` using placeholder responses while endpoints wire up. | Console Guild |
|
||||
| 2025-11-08 | Built filters + reachability badge wiring and `/console/vuln/search` DTOs; aligned Scheduler/Signals dependencies. | Console Guild |
|
||||
| 2025-11-08 | Published HTTP contract + sample payloads in `docs/api/console/workspaces.md` and `docs/api/console/samples/vuln-findings-sample.json` for docs staging. | Console Guild |
|
||||
| 2025-11-08 | Captured SSE schema + NDJSON sample in `docs/api/console/samples/vex-statement-sse.ndjson`; awaiting Scheduler topic hook-up. | Console Guild |
|
||||
| 2025-11-18 | WEB-CONTAINERS-44-001 completed: quickstart banner, `/welcome` config discovery page, sample safe config values. | BE-Base Platform Guild |
|
||||
| 2025-11-19 | WEB-CONTAINERS-45-001 completed: readiness/liveness/version JSON assets added for helm probes. | BE-Base Platform Guild |
|
||||
| 2025-11-19 | CONSOLE-VULN-29-001 and CONSOLE-VEX-30-001 marked BLOCKED pending WEB-CONSOLE-23-001 and upstream schemas (Concelier/Excititor). | Console Guild |
|
||||
| 2025-11-22 | Normalized sprint to template and renamed from `SPRINT_212_web_i.md` to `SPRINT_0212_0001_0001_web_i.md`; no scope changes. | Planning |
|
||||
@@ -0,0 +1,125 @@
|
||||
# Sprint 0401 · Reachability Evidence Chain
|
||||
|
||||
## Topic & Scope
|
||||
- Window: 2025-11-11 → 2025-11-22 (UTC); finish the provable reachability pipeline so Sprint 0402 can focus on polish.
|
||||
- Deliver function-level evidence chain (graph CAS → replay → DSSE → policy/UI) with signed artifacts and replayable fixtures.
|
||||
- Ship operator-facing docs/runbooks plus benchmarks that validate deterministic reachability scoring.
|
||||
- **Working directory:** docs/implplan (cross-guild coordination; implementation happens in module paths noted per task).
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Upstream: Sprint 0400 foundation plus Sprint 0140 Runtime & Signals, Sprint 0185 Replay Core, Sprint 0186 Scanner Record Mode, Sprint 0187 Evidence Locker & CLI Integration.
|
||||
- Do not start reachability build tasks until Scanner record mode emits replay manifests and Evidence Locker APIs are reachable.
|
||||
- Guilds may execute in parallel once CAS contracts and DSSE predicate schemas stabilise; keep deterministic ordering of manifests/fixtures.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- docs/reachability/DELIVERY_GUIDE.md
|
||||
- docs/reachability/function-level-evidence.md
|
||||
- docs/reachability/lattice.md
|
||||
- docs/benchmarks/vex-evidence-playbook.md
|
||||
- docs/09_API_CLI_REFERENCE.md
|
||||
- docs/modules/scanner/architecture.md
|
||||
- docs/modules/policy/architecture.md
|
||||
- docs/modules/excititor/architecture.md
|
||||
- docs/modules/cli/architecture.md
|
||||
- docs/modules/signer/architecture.md
|
||||
- docs/specs/SYMBOL_MANIFEST_v1.md
|
||||
- docs/policy/dsl.md
|
||||
- docs/policy/lifecycle.md
|
||||
- docs/uncertainty/README.md
|
||||
- docs/replay/DETERMINISTIC_REPLAY.md
|
||||
- docs/provenance/inline-dsse.md
|
||||
- docs/ci/dsse-build-flow.md
|
||||
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 1 | GRAPH-CAS-401-001 | TODO | Await richgraph-v1 schema approval and CAS layout alignment. | Scanner Worker Guild (`src/Scanner/StellaOps.Scanner.Worker`) | Finalize richgraph schema, emit canonical SymbolIDs, compute graph hash (BLAKE3), store manifests under `cas://reachability/graphs/{sha256}`, update adapters/fixtures. |
|
||||
| 2 | GAP-SYM-007 | TODO | Align with GRAPH-CAS-401-001; keep DTOs/docs deterministic. | Scanner Worker Guild · Docs Guild (`src/Scanner/StellaOps.Scanner.Models`, `docs/modules/scanner/architecture.md`, `docs/reachability/function-level-evidence.md`) | Extend evidence schema with demangled hints, `symbol.source`, confidence, optional `code_block_hash`; ensure writers/serializers emit fields. |
|
||||
| 3 | SCAN-REACH-401-009 | TODO | Needs symbolizer adapters from tasks 1/4; add golden fixtures. | Scanner Worker Guild (`src/Scanner/StellaOps.Scanner.Worker`, `src/Scanner/__Libraries`) | Ship .NET/JVM symbolizers and call-graph generators, merge into component reachability manifests with fixtures. |
|
||||
| 4 | SCANNER-NATIVE-401-015 | TODO | Stand up native readers/demanglers; coordinate with Symbols Server. | Scanner Worker Guild (`src/Scanner/__Libraries/StellaOps.Scanner.Symbols.Native`, `src/Scanner/__Libraries/StellaOps.Scanner.CallGraph.Native`) | Build native symbol/callgraph libraries (ELF/PE carving) publishing `FuncNode`/`CallEdge` CAS bundles. |
|
||||
| 5 | SYMS-SERVER-401-011 | TODO | Blocked on DSSE predicate catalog + storage layout confirmation. | Symbols Guild (`src/Symbols/StellaOps.Symbols.Server`) | Deliver Symbols Server (REST+gRPC) with DSSE-verified uploads, Mongo/MinIO storage, tenant isolation, deterministic debugId indexing, health/manifest APIs. |
|
||||
| 6 | SYMS-CLIENT-401-012 | TODO | Depends on server readiness; integrate with Scanner Symbolizer. | Symbols Guild (`src/Symbols/StellaOps.Symbols.Client`, `src/Scanner/StellaOps.Scanner.Symbolizer`) | Ship Symbols Client SDK (resolve/upload, platform key derivation, disk LRU cache) and integrate with Scanner/runtime probes. |
|
||||
| 7 | SYMS-INGEST-401-013 | TODO | Follow SYMBOL_MANIFEST spec final; document pipelines. | Symbols Guild · DevOps Guild (`src/Symbols/StellaOps.Symbols.Ingestor.Cli`, `docs/specs/SYMBOL_MANIFEST_v1.md`) | Build `symbols ingest` CLI to emit DSSE-signed manifests, upload blobs, register Rekor entries, and document CI usage. |
|
||||
| 8 | SIGNALS-RUNTIME-401-002 | TODO | Wait for Signals ingestion contract from upstream runtime work. | Signals Guild (`src/Signals/StellaOps.Signals`) | Ship `/signals/runtime-facts` ingestion for NDJSON/gzip, dedupe hits, link evidence CAS URIs to callgraph nodes; include retention/RBAC tests. |
|
||||
| 9 | RUNTIME-PROBE-401-010 | TODO | Depends on probe collectors; align with ingestion endpoint. | Runtime Signals Guild (`src/Signals/StellaOps.Signals.Runtime`, `ops/probes`) | Implement lightweight runtime probes (EventPipe/JFR) emitting CAS traces feeding Signals ingestion. |
|
||||
| 10 | SIGNALS-SCORING-401-003 | TODO | Needs runtime hit feeds from 8/9; confirm scoring weights. | Signals Guild (`src/Signals/StellaOps.Signals`) | Extend ReachabilityScoringService with deterministic scoring, persist labels, expose `/graphs/{scanId}` CAS lookups. |
|
||||
| 11 | REPLAY-401-004 | TODO | Requires CAS registration policy from GAP-REP-004. | BE-Base Platform Guild (`src/__Libraries/StellaOps.Replay.Core`) | Bump replay manifest to v2, enforce CAS registration + hash sorting in ReachabilityReplayWriter, add deterministic tests. |
|
||||
| 12 | AUTH-REACH-401-005 | TODO | Blocked on DSSE predicate definitions; align with Signer. | Authority & Signer Guilds (`src/Authority/StellaOps.Authority`, `src/Signer/StellaOps.Signer`) | Introduce DSSE predicate types for SBOM/Graph/VEX/Replay, plumb signing, mirror statements to Rekor (incl. PQ variants). |
|
||||
| 13 | POLICY-VEX-401-006 | TODO | Needs reachability facts from Signals and thresholds confirmation. | Policy Guild (`src/Policy/StellaOps.Policy.Engine`, `src/Policy/__Libraries/StellaOps.Policy`) | Consume reachability facts, bucket scores, emit OpenVEX with call-path proofs, update SPL schema with reachability predicates and suppression gates. |
|
||||
| 14 | POLICY-VEX-401-010 | TODO | Depends on 13 and DSSE path; follow bench playbook. | Policy Guild (`src/Policy/StellaOps.Policy.Engine/Vex`, `docs/modules/policy/architecture.md`, `docs/benchmarks/vex-evidence-playbook.md`) | Implement VexDecisionEmitter to serialize per-finding OpenVEX, attach evidence hashes, request DSSE signatures, capture Rekor metadata. |
|
||||
| 15 | UI-CLI-401-007 | TODO | Requires graph CAS outputs + policy evidence; sync CLI/UI. | UI & CLI Guilds (`src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI`) | Implement CLI `stella graph explain` and UI explain drawer with signed call-path, predicates, runtime hits, DSSE pointers, counterfactual controls. |
|
||||
| 16 | QA-DOCS-401-008 | TODO | Needs reachbench fixtures (QA-CORPUS-401-031) and docs readiness. | QA & Docs Guilds (`docs`, `tests/README.md`) | Wire reachbench fixtures into CI, document CAS layouts + replay steps, publish operator runbook for runtime ingestion. |
|
||||
| 17 | GAP-SIG-003 | TODO | Depends on Signals runtime ingestion (8) completion. | Signals Guild (`src/Signals/StellaOps.Signals`, `docs/reachability/function-level-evidence.md`) | Finish `/signals/runtime-facts` ingestion, add CAS-backed runtime storage, extend scoring to lattice states, emit update events, document retention/RBAC. |
|
||||
| 18 | SIG-STORE-401-016 | TODO | Needs schema from graph tasks; align indexes. | Signals Guild · BE-Base Platform Guild (`src/Signals/StellaOps.Signals`, `src/__Libraries/StellaOps.Replay.Core`) | Introduce shared reachability store collections/indexes and repository APIs for canonical function data. |
|
||||
| 19 | GAP-REP-004 | TODO | Requires BLAKE3 hashing agreement; tie to replay manifest v2. | BE-Base Platform Guild (`src/__Libraries/StellaOps.Replay.Core`, `docs/replay/DETERMINISTIC_REPLAY.md`) | Enforce BLAKE3 hashing + CAS registration for graphs/traces, upgrade replay manifest v2, add deterministic tests. |
|
||||
| 20 | GAP-POL-005 | TODO | Consumes reach facts from Signals; update SPL schema. | Policy Guild (`src/Policy/StellaOps.Policy.Engine`, `docs/modules/policy/architecture.md`, `docs/reachability/function-level-evidence.md`) | Ingest reachability facts into Policy Engine, expose `reachability.state/confidence`, enforce auto-suppress rules, generate OpenVEX evidence blocks. |
|
||||
| 21 | GAP-VEX-006 | TODO | Follows GAP-POL-005 plus UI/CLI surfaces. | Policy, Excititor, UI, CLI & Notify Guilds (`docs/modules/excititor/architecture.md`, `src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI`, `docs/09_API_CLI_REFERENCE.md`) | Wire VEX emission/explain drawers to show call paths, graph hashes, runtime hits; add CLI flags and Notify templates. |
|
||||
| 22 | GAP-DOC-008 | TODO | After evidence schema stabilises; publish samples. | Docs Guild (`docs/reachability/function-level-evidence.md`, `docs/09_API_CLI_REFERENCE.md`, `docs/api/policy.md`) | Publish cross-module function-level evidence guide, update API/CLI references with `code_id`, add OpenVEX/replay samples. |
|
||||
| 23 | CLI-VEX-401-011 | TODO | Needs Policy/Signer APIs from 13–14. | CLI Guild (`src/Cli/StellaOps.Cli`, `docs/modules/cli/architecture.md`, `docs/benchmarks/vex-evidence-playbook.md`) | Add `stella decision export|verify|compare`, integrate with Policy/Signer APIs, ship local verifier wrappers for bench artifacts. |
|
||||
| 24 | SIGN-VEX-401-018 | TODO | Requires Authority predicates and DSSE path from 12. | Signing Guild (`src/Signer/StellaOps.Signer`, `docs/modules/signer/architecture.md`) | Extend Signer predicate catalog with `stella.ops/vexDecision@v1`, enforce payload policy, plumb DSSE/Rekor integration. |
|
||||
| 25 | BENCH-AUTO-401-019 | TODO | Depends on data sets and baseline scanner setup. | Benchmarks Guild (`docs/benchmarks/vex-evidence-playbook.md`, `scripts/bench/**`) | Automate population of `bench/findings/**`, run baseline scanners, compute FP/MTTD/repro metrics, update `results/summary.csv`. |
|
||||
| 26 | DOCS-VEX-401-012 | TODO | Align with GAP-DOC-008 and bench playbook. | Docs Guild (`docs/benchmarks/vex-evidence-playbook.md`, `bench/README.md`) | Maintain VEX Evidence Playbook, publish repo templates/README, document verification workflows. |
|
||||
| 27 | SYMS-BUNDLE-401-014 | TODO | Depends on SYMBOL_MANIFEST spec and ingest pipeline. | Symbols Guild · Ops Guild (`src/Symbols/StellaOps.Symbols.Bundle`, `ops`) | Produce deterministic symbol bundles for air-gapped installs with DSSE manifests/Rekor checkpoints; document offline workflows. |
|
||||
| 28 | DOCS-RUNBOOK-401-017 | TODO | Needs runtime ingestion guidance; align with DELIVERY_GUIDE. | Docs Guild · Ops Guild (`docs/runbooks/reachability-runtime.md`, `docs/reachability/DELIVERY_GUIDE.md`) | Publish reachability runtime ingestion runbook, link from delivery guides, keep Ops/Signals troubleshooting current. |
|
||||
| 29 | POLICY-LIB-401-001 | TODO | Extract DSL parser; align with Policy Engine tasks. | Policy Guild (`src/Policy/StellaOps.PolicyDsl`, `docs/policy/dsl.md`) | Extract policy DSL parser/compiler into `StellaOps.PolicyDsl`, add lightweight syntax, expose `PolicyEngineFactory`/`SignalContext`. |
|
||||
| 30 | POLICY-LIB-401-002 | TODO | Follows 29; add harness and CLI wiring. | Policy Guild · CLI Guild (`tests/Policy/StellaOps.PolicyDsl.Tests`, `policy/default.dsl`, `docs/policy/lifecycle.md`) | Ship unit-test harness + sample DSL, wire `stella policy lint/simulate` to shared library. |
|
||||
| 31 | POLICY-ENGINE-401-003 | TODO | Depends on 29/30; ensure determinism hashes stable. | Policy Guild (`src/Policy/StellaOps.Policy.Engine`, `docs/modules/policy/architecture.md`) | Replace in-service DSL compilation with shared library, support legacy packs and inline syntax, keep determinism stable. |
|
||||
| 32 | CLI-EDITOR-401-004 | TODO | Relies on shared DSL lib; add git edit flow. | CLI Guild (`src/Cli/StellaOps.Cli`, `docs/policy/lifecycle.md`) | Enhance `stella policy` verbs (edit/lint/simulate) to edit Git-backed DSL files, run coverage tests, commit SemVer metadata. |
|
||||
| 33 | DOCS-DSL-401-005 | TODO | Docs follow 29–32 and Signals dictionary updates. | Docs Guild (`docs/policy/dsl.md`, `docs/policy/lifecycle.md`) | Refresh DSL docs with new syntax, signal dictionary (`trust_score`, `reachability`, etc.), authoring workflow, safety rails. |
|
||||
| 34 | DSSE-LIB-401-020 | TODO | Align with DSSE predicate work; reusable lib. | Attestor Guild · Platform Guild (`src/Attestor/StellaOps.Attestation`, `src/Attestor/StellaOps.Attestor.Envelope`) | Package `StellaOps.Attestor.Envelope` primitives into reusable `StellaOps.Attestation` library with InToto/DSSE helpers. |
|
||||
| 35 | DSSE-CLI-401-021 | TODO | Depends on 34; deliver CLI/workflow snippets. | CLI Guild · DevOps Guild (`src/Cli/StellaOps.Cli`, `scripts/ci/attest-*`, `docs/modules/attestor/architecture.md`) | Ship `stella attest` CLI or sample tool plus GitLab/GitHub workflow snippets emitting DSSE per build step. |
|
||||
| 36 | DSSE-DOCS-401-022 | TODO | Follows 34/35; document build-time flow. | Docs Guild · Attestor Guild (`docs/ci/dsse-build-flow.md`, `docs/modules/attestor/architecture.md`) | Document build-time attestation walkthrough: models, helper usage, Authority integration, storage conventions, verification commands. |
|
||||
| 37 | REACH-LATTICE-401-023 | TODO | Align Scanner + Policy schemas; tie to evidence joins. | Scanner Guild · Policy Guild (`docs/reachability/lattice.md`, `docs/modules/scanner/architecture.md`, `src/Scanner/StellaOps.Scanner.WebService`) | Define reachability lattice model and ensure joins write to event graph schema. |
|
||||
| 38 | UNCERTAINTY-SCHEMA-401-024 | TODO | Schema changes rely on Signals ingestion work. | Signals Guild (`src/Signals/StellaOps.Signals`, `docs/uncertainty/README.md`) | Extend Signals findings with uncertainty states, entropy fields, `riskScore`; emit update events and persist evidence. |
|
||||
| 39 | UNCERTAINTY-SCORER-401-025 | TODO | Scorer depends on 38 outputs. | Signals Guild (`src/Signals/StellaOps.Signals.Application`, `docs/uncertainty/README.md`) | Implement entropy-aware risk scorer and wire into finding writes. |
|
||||
| 40 | UNCERTAINTY-POLICY-401-026 | TODO | Guidance depends on 38/39. | Policy Guild · Concelier Guild (`docs/policy/dsl.md`, `docs/uncertainty/README.md`) | Update policy guidance with uncertainty gates (U1/U2/U3), sample YAML rules, remediation actions. |
|
||||
| 41 | UNCERTAINTY-UI-401-027 | TODO | UI/CLI depends on 38/39 outputs. | UI Guild · CLI Guild (`src/UI/StellaOps.UI`, `src/Cli/StellaOps.Cli`, `docs/uncertainty/README.md`) | Surface uncertainty chips/tooltips in Console + CLI output (risk score + entropy states). |
|
||||
| 42 | PROV-INLINE-401-028 | DONE | Completed inline DSSE hooks per docs. | Authority Guild · Feedser Guild (`docs/provenance/inline-dsse.md`, `src/__Libraries/StellaOps.Provenance.Mongo`) | Extend event writers to attach inline DSSE + Rekor references on every SBOM/VEX/scan event. |
|
||||
| 43 | PROV-BACKFILL-INPUTS-401-029A | DONE | Inventory/map drafted 2025-11-18. | Evidence Locker Guild · Platform Guild (`docs/provenance/inline-dsse.md`) | Attestation inventory and subject→Rekor map drafted. |
|
||||
| 44 | PROV-BACKFILL-401-029 | TODO | Use inventory+map; depends on 42/43 readiness. | Platform Guild (`docs/provenance/inline-dsse.md`, `scripts/publish_attestation_with_provenance.sh`) | Resolve historical events and backfill provenance. |
|
||||
| 45 | PROV-INDEX-401-030 | TODO | Blocked until 44 defines data model. | Platform Guild · Ops Guild (`docs/provenance/inline-dsse.md`, `ops/mongo/indices/events_provenance_indices.js`) | Deploy provenance indexes and expose compliance/replay queries. |
|
||||
| 46 | QA-CORPUS-401-031 | TODO | Needs reachbench corpus creation; align with QA harness. | QA Guild · Scanner Guild (`tests/reachability`, `docs/reachability/DELIVERY_GUIDE.md`) | Build/publish multi-runtime reachability corpus with ground truths and traces; wire fixtures into CI. |
|
||||
| 47 | UI-VEX-401-032 | TODO | Depends on policy/CLI evidence chain (13–15,21). | UI Guild · CLI Guild · Scanner Guild (`src/UI/StellaOps.UI`, `src/Cli/StellaOps.Cli`, `docs/reachability/function-level-evidence.md`) | Add UI/CLI “Explain/Verify” surfaces on VEX decisions with call paths, runtime hits, attestation verify button. |
|
||||
| 48 | POLICY-GATE-401-033 | TODO | Gate depends on Signals/Scanner reach evidence. | Policy Guild · Scanner Guild (`src/Policy/StellaOps.Policy.Engine`, `docs/policy/dsl.md`, `docs/modules/scanner/architecture.md`) | Enforce policy gate requiring reachability evidence for `not_affected`/`unreachable`; fallback to under review on low confidence; update docs/tests. |
|
||||
| 49 | GRAPH-PURL-401-034 | TODO | Needs graph schema from 1 and signals store alignment. | Scanner Worker Guild · Signals Guild (`src/Scanner/StellaOps.Scanner.Worker`, `src/Signals/StellaOps.Signals`, `docs/reachability/purl-resolved-edges.md`) | Annotate call edges with callee purl + `symbol_digest`, update schema/CAS, surface in CLI/UI. |
|
||||
| 50 | SCANNER-BUILDID-401-035 | TODO | Depends on scanner symbol work and fixtures. | Scanner Worker Guild (`src/Scanner/StellaOps.Scanner.Worker`, `docs/modules/scanner/architecture.md`) | Capture `.note.gnu.build-id` for ELF targets, thread into `SymbolID`/`code_id`, SBOM exports, runtime facts; add fixtures. |
|
||||
| 51 | SCANNER-INITROOT-401-036 | TODO | Requires graph writer updates from 1. | Scanner Worker Guild (`src/Scanner/StellaOps.Scanner.Worker`, `docs/modules/scanner/architecture.md`) | Model init sections as synthetic graph roots (phase=load) including `DT_NEEDED` deps; persist in evidence. |
|
||||
| 52 | QA-PORACLE-401-037 | TODO | Depends on reachability graph fixtures; add CI harness. | QA Guild · Scanner Worker Guild (`tests/reachability`, `docs/reachability/patch-oracles.md`) | Add patch-oracle fixtures and harness comparing graphs vs oracle, fail CI when expected functions/edges missing. |
|
||||
|
||||
## Wave Coordination
|
||||
| Wave | Guild owners | Shared prerequisites | Status | Notes |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 0401 Reachability Evidence Chain | Scanner Guild · Signals Guild · BE-Base Platform Guild · Policy Guild · UI/CLI Guilds · Docs Guild | Sprint 0140 Runtime & Signals; Sprint 0185 Replay Core; Sprint 0186 Scanner Record Mode; Sprint 0187 Evidence Locker & CLI Integration | TODO | Foundation work (Sprint 0400) in flight; advance after Scanner record mode emits replay manifests and Evidence Locker APIs exist. |
|
||||
|
||||
## Wave Detail Snapshots
|
||||
- Single wave covering end-to-end reachability evidence; proceed once Sprint 0400 + upstream runtime/replay prerequisites land.
|
||||
|
||||
## Interlocks
|
||||
- CAS hash/predicate choices must stay consistent across Scanner, Signals, Replay, and Policy (tasks 1, 11, 19, 24).
|
||||
- DSSE predicate catalog and Signer integration (tasks 12, 24, 34–36) gate VEX and provenance tasks.
|
||||
- UI/CLI explainers (tasks 15, 21, 47) depend on policy reachability outputs and graph schema stabilization.
|
||||
|
||||
## Upcoming Checkpoints
|
||||
- Schedule go/no-go once Sprint 0400 readiness is confirmed (TBD, Planning).
|
||||
- Align DSSE predicate review across Authority/Signer/Policy once task 12 schema draft is ready (TBD, Authority Guild).
|
||||
|
||||
## Action Tracker
|
||||
| # | Action | Owner | Due (UTC) | Status | Notes |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 1 | Capture checkpoint dates after Sprint 0400 closure signal. | Planning | TBD | Open | Waiting on Sprint 0400 readiness update. |
|
||||
| 2 | Confirm CAS hash alignment (BLAKE3 + sha256 addressing) across Scanner/Replay/Signals. | Platform Guild | TBD | Open | Coordinate tasks 1 and 19. |
|
||||
|
||||
## Decisions & Risks
|
||||
- File renamed to `SPRINT_0401_0001_0001_reachability_evidence_chain.md` and normalized to template on 2025-11-22; scope unchanged.
|
||||
|
||||
| ID | Risk | Impact | Mitigation / Owner |
|
||||
| --- | --- | --- | --- |
|
||||
| R1 | Sprint 0400 and upstream runtime/replay prerequisites slip. | Delivery blocked; evidence chain cannot start. | Track readiness in checkpoints; hold start until record mode + Evidence Locker APIs land (Planning). |
|
||||
| R2 | CAS hash/predicate mismatch across modules. | Inconsistent artifacts, replay failures. | Align specs via tasks 1, 11, 19, 24; review before implementation (Platform Guild). |
|
||||
| R3 | Determinism gaps in fixtures/benchmarks. | Flaky reachability scoring and VEX proofs. | Prioritize QA tasks 16, 25, 46, 52; enforce deterministic ordering in tests (QA Guild). |
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-22 | Normalized sprint to template, added dependencies/prereqs, Delivery Tracker numbering, interlocks, risks; renamed file for naming compliance. | Planning |
|
||||
| 2025-11-20 | Added tasks for purl-resolved edges, ELF build-id propagation, init-array roots, and patch-oracle QA harness; aligned docs references. | Planning |
|
||||
@@ -1,24 +1,24 @@
|
||||
# Sprint 0512 · Ops & Offline · Bench (190.G)
|
||||
|
||||
## Topic & Scope
|
||||
- Build and capture performance benchmarks for graph, UI interactions, impact index, policy deltas, and reachability scoring to support offline/ops readiness.
|
||||
- Target harnesses under `src/Bench/StellaOps.Bench` with reproducible datasets.
|
||||
- **Working directory:** `src/Bench/StellaOps.Bench`.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Upstream data: graph fixtures (SAMPLES-GRAPH-24-003), reachability schema (Sprint 0400/0401), policy delta inputs.
|
||||
- UI bench depends on BENCH-GRAPH-21-001/002 harness foundation.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- docs/07_HIGH_LEVEL_ARCHITECTURE.md
|
||||
- docs/modules/platform/architecture-overview.md
|
||||
- docs/modules/graph/architecture.md (for graph bench scenarios)
|
||||
- docs/modules/signals/architecture.md (for reachability benches)
|
||||
- docs/modules/policy/architecture.md
|
||||
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
# Sprint 0512 · Ops & Offline · Bench (190.G)
|
||||
|
||||
## Topic & Scope
|
||||
- Build and capture performance benchmarks for graph, UI interactions, impact index, policy deltas, and reachability scoring to support offline/ops readiness.
|
||||
- Target harnesses under `src/Bench/StellaOps.Bench` with reproducible datasets.
|
||||
- **Working directory:** `src/Bench/StellaOps.Bench`.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Upstream data: graph fixtures (SAMPLES-GRAPH-24-003), reachability schema (Sprint 0400/0401), policy delta inputs.
|
||||
- UI bench depends on BENCH-GRAPH-21-001/002 harness foundation.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- docs/07_HIGH_LEVEL_ARCHITECTURE.md
|
||||
- docs/modules/platform/architecture-overview.md
|
||||
- docs/modules/graph/architecture.md (for graph bench scenarios)
|
||||
- docs/modules/signals/architecture.md (for reachability benches)
|
||||
- docs/modules/policy/architecture.md
|
||||
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| P1 | PREP-BENCH-GRAPH-21-001-NEED-GRAPH-BENCH-HARN | DONE (2025-11-20) | Prep doc at `docs/benchmarks/graph/bench-graph-21-001-prep.md`; awaits fixtures (SAMPLES-GRAPH-24-003). | Bench Guild · Graph Platform Guild | Need graph bench harness scaffolding (50k/100k nodes). <br><br> Document artefact/deliverable for BENCH-GRAPH-21-001 and publish location so downstream tasks can proceed. |
|
||||
| P2 | PREP-BENCH-GRAPH-21-002-BLOCKED-ON-21-001-HAR | DONE (2025-11-20) | Due 2025-11-26 · Accountable: Bench Guild · UI Guild | Bench Guild · UI Guild | Prep artefact published at `docs/benchmarks/graph/bench-graph-21-002-prep.md` (Playwright UI bench plan leveraging 50k/100k fixtures; scenarios, metrics, determinism). |
|
||||
| P3 | PREP-BENCH-IMPACT-16-001-IMPACT-INDEX-DATASET | DONE (2025-11-20) | Due 2025-11-26 · Accountable: Bench Guild · Scheduler Team | Bench Guild · Scheduler Team | Prep artefact published at `docs/benchmarks/impact/bench-impact-16-001-prep.md` (dataset shape, replay plan, deterministic metrics). |
|
||||
@@ -31,11 +31,44 @@
|
||||
| 4 | BENCH-IMPACT-16-001 | BLOCKED | PREP-BENCH-IMPACT-16-001-IMPACT-INDEX-DATASET | Bench Guild · Scheduler Team | ImpactIndex throughput bench (resolve 10k productKeys) + RAM profile. |
|
||||
| 5 | BENCH-POLICY-20-002 | BLOCKED | PREP-BENCH-POLICY-20-002-POLICY-DELTA-SAMPLE | Bench Guild · Policy Guild · Scheduler Guild | Add incremental run benchmark measuring delta evaluation vs full; capture SLA compliance. |
|
||||
| 6 | BENCH-SIG-26-001 | BLOCKED | PREP-BENCH-SIG-26-001-REACHABILITY-SCHEMA-FIX | Bench Guild · Signals Guild | Develop benchmark for reachability scoring pipeline (facts/sec, latency, memory) using synthetic callgraphs/runtime batches. |
|
||||
| 7 | BENCH-SIG-26-002 | BLOCKED | PREP-BENCH-SIG-26-002-BLOCKED-ON-26-001-OUTPU | Bench Guild · Policy Guild | Measure policy evaluation overhead with reachability cache hot/cold; ensure ≤8 ms p95 added latency. |
|
||||
|
||||
## Execution Log
|
||||
| 7 | BENCH-SIG-26-002 | BLOCKED | PREP-BENCH-SIG-26-002-BLOCKED-ON-26-001-OUTPU | Bench Guild · Policy Guild | Measure policy evaluation overhead with reachability cache hot/cold; ensure ≤8 ms p95 added latency. |
|
||||
|
||||
## Wave Coordination
|
||||
- Single wave; benches sequenced by dataset availability. No parallel wave gating beyond Delivery Tracker dependencies.
|
||||
|
||||
## Wave Detail Snapshots
|
||||
- N/A (single wave). Add per-wave snapshots if additional waves are introduced.
|
||||
|
||||
## Interlocks
|
||||
- Graph fixtures SAMPLES-GRAPH-24-003 delivery (Bench Guild ↔ Graph Platform Guild).
|
||||
- Reachability schema alignment from Sprints 0400/0401 (Signals Guild ↔ Policy Guild).
|
||||
- Policy delta dataset delivery (Policy Guild ↔ Scheduler Guild).
|
||||
|
||||
## Upcoming Checkpoints
|
||||
- 2025-11-22 · Confirm availability of graph fixtures for BENCH-GRAPH-21-001/002/24-002. Owner: Bench Guild.
|
||||
- 2025-11-24 · Reachability schema alignment outcome to unblock BENCH-SIG-26-001. Owner: Signals Guild.
|
||||
- 2025-11-26 · Decide impact index dataset for BENCH-IMPACT-16-001. Owner: Scheduler Team.
|
||||
|
||||
## Action Tracker
|
||||
| Action ID | Status | Owner | Due (UTC) | Details |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| ACT-0512-01 | PENDING | Bench Guild | 2025-11-22 | Confirm SAMPLES-GRAPH-24-003 fixtures availability and publish location for BENCH-GRAPH-21-001/002/24-002. |
|
||||
| ACT-0512-02 | PENDING | Signals Guild | 2025-11-24 | Provide reachability schema hash/output to unblock BENCH-SIG-26-001/002. |
|
||||
| ACT-0512-03 | PENDING | Scheduler Team | 2025-11-26 | Finalize impact index dataset selection and share deterministic replay bundle. |
|
||||
|
||||
## Decisions & Risks
|
||||
| Risk | Impact | Mitigation | Status | Owner | Due (UTC) |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| Graph fixtures SAMPLES-GRAPH-24-003 not delivered | Blocks BENCH-GRAPH-21-001/002/24-002; benches unstartable | Track via ACT-0512-01; escalate to Graph Platform Guild if missed | Open | Bench Guild | 2025-11-22 |
|
||||
| Reachability schema hash pending from Sprint 0400/0401 | BENCH-SIG-26-001/002 remain blocked | ACT-0512-02 to deliver schema hash + fixtures; add fallback synthetic set | Open | Signals Guild | 2025-11-24 |
|
||||
| Impact index dataset undecided | BENCH-IMPACT-16-001 stalled; no reproducibility | ACT-0512-03 to finalize dataset; require deterministic replay bundle | Open | Scheduler Team | 2025-11-26 |
|
||||
|
||||
- Determinism risk: ensure all benches avoid online dependencies and pin datasets; review when fixtures arrive.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-22 | Normalised sprint to implplan template (added Wave/Interlocks/Action sections; renamed Next Checkpoints → Upcoming Checkpoints); no task status changes. | Project Mgmt |
|
||||
| 2025-11-20 | Completed PREP-BENCH-GRAPH-21-002: published UI bench prep doc at `docs/benchmarks/graph/bench-graph-21-002-prep.md`; status set to DONE. | Implementer |
|
||||
| 2025-11-20 | Completed PREP-BENCH-IMPACT-16-001: published impact index bench prep doc at `docs/benchmarks/impact/bench-impact-16-001-prep.md`; status set to DONE. | Implementer |
|
||||
| 2025-11-20 | Completed PREP-BENCH-POLICY-20-002: published policy delta bench prep doc at `docs/benchmarks/policy/bench-policy-20-002-prep.md`; status set to DONE. | Implementer |
|
||||
@@ -43,14 +76,4 @@
|
||||
| 2025-11-19 | Trimmed trailing hyphen from PREP-BENCH-POLICY-20-002 Task ID to keep BENCH-POLICY-20-002 blocker resolvable. | Project Mgmt |
|
||||
| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning |
|
||||
| 2025-11-18 | Marked BENCH-GRAPH-24-002, BENCH-IMPACT-16-001, BENCH-POLICY-20-002, BENCH-SIG-26-001/002 as BLOCKED pending fixtures/datasets and reachability schema. | Bench |
|
||||
| 2025-11-18 | Normalised sprint to standard template; renamed from SPRINT_512_bench.md. | Ops/Docs |
|
||||
|
||||
## Decisions & Risks
|
||||
- Graph/UI benches depend on large fixtures (SAMPLES-GRAPH-24-003) and graph overlay schema; risk until fixtures land.
|
||||
- Reachability benches depend on runtime/static schema alignment (Sprint 0400/0401) and fixture relocation.
|
||||
- Policy/Impact benches require deterministic datasets; ensure no online dependencies.
|
||||
|
||||
## Next Checkpoints
|
||||
- 2025-11-22 · Confirm availability of graph fixtures for BENCH-GRAPH-21-001/002/24-002. Owner: Bench Guild.
|
||||
- 2025-11-24 · Reachability schema alignment outcome to unblock BENCH-SIG-26-001. Owner: Signals Guild.
|
||||
- 2025-11-26 · Decide impact index dataset for BENCH-IMPACT-16-001. Owner: Scheduler Team.
|
||||
| 2025-11-18 | Normalised sprint to standard template; renamed from SPRINT_512_bench.md. | Ops/Docs |
|
||||
|
||||
71
docs/implplan/SPRINT_0513_0001_0001_provenance.md
Normal file
71
docs/implplan/SPRINT_0513_0001_0001_provenance.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# Sprint 0513-0001-0001 · Ops & Offline · Provenance
|
||||
|
||||
## Topic & Scope
|
||||
- Prove container provenance offline: model DSSE/SLSA build metadata, signing flows, and promotion predicates for orchestrator/job/export subjects.
|
||||
- Deliver signing + verification toolchain that is deterministic, air-gap ready, and consumable from CLI (`stella forensic verify`) and services.
|
||||
- Working directory: `src/Provenance/StellaOps.Provenance.Attestation`. Active items only; completed/historic work lives in `docs/implplan/archived/tasks.md` (updated 2025-11-08).
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Upstream sprints: 100.A Attestor, 110.A AdvisoryAI, 120.A AirGap, 130.A Scanner, 140.A Graph, 150.A Orchestrator, 160.A EvidenceLocker, 170.A Notifier, 180.A CLI.
|
||||
- Task sequencing: PROV-OBS-53-001 → PROV-OBS-53-002 → PROV-OBS-53-003 → PROV-OBS-54-001 → PROV-OBS-54-002; downstream tasks stay TODO/BLOCKED until predecessors verify in CI.
|
||||
- Concurrency guardrails: keep deterministic ordering in Delivery Tracker; no cross-module code changes unless noted under Interlocks.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `docs/07_HIGH_LEVEL_ARCHITECTURE.md`
|
||||
- `docs/modules/platform/architecture-overview.md`
|
||||
- `docs/modules/attestor/architecture.md`
|
||||
- `docs/modules/signer/architecture.md`
|
||||
- `docs/modules/orchestrator/architecture.md`
|
||||
- `docs/modules/export-center/architecture.md`
|
||||
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 1 | PROV-OBS-53-001 | DONE (2025-11-17) | Baseline models available for downstream tasks | Provenance Guild / `src/Provenance/StellaOps.Provenance.Attestation` | Implement DSSE/SLSA `BuildDefinition` + `BuildMetadata` models with canonical JSON serializer, Merkle digest helpers, deterministic hashing tests, and sample statements for orchestrator/job/export subjects. |
|
||||
| 2 | PROV-OBS-53-002 | DONE (2025-11-22) | Tests green locally; relies on CI rerun for parity | Provenance Guild; Security Guild / `src/Provenance/StellaOps.Provenance.Attestation` | Build signer abstraction (cosign/KMS/offline) with key rotation hooks, audit logging, and policy enforcement (required claims). Provide unit tests using fake signer + real cosign fixture. |
|
||||
| 3 | PROV-OBS-53-003 | DONE (2025-11-22) | Promotion predicate builder implemented; depends on 53-002 outputs | Provenance Guild / `src/Provenance/StellaOps.Provenance.Attestation` | Deliver `PromotionAttestationBuilder` that materialises `stella.ops/promotion@v1` predicate (image digest, SBOM/VEX materials, promotion metadata, Rekor proof) and feeds canonicalised payload bytes to Signer via StellaOps.Cryptography. |
|
||||
| 4 | PROV-OBS-54-001 | TODO | Start after PROV-OBS-53-002 clears; needs signer verified | Provenance Guild; Evidence Locker Guild / `src/Provenance/StellaOps.Provenance.Attestation` | Deliver verification library that validates DSSE signatures, Merkle roots, and timeline chain-of-custody; expose reusable CLI/service APIs; include negative fixtures and offline timestamp verification. |
|
||||
| 5 | PROV-OBS-54-002 | TODO | Start after PROV-OBS-54-001 verification APIs are stable | Provenance Guild; DevEx/CLI Guild / `src/Provenance/StellaOps.Provenance.Attestation` | Generate .NET global tool for local verification + embed command helpers for CLI `stella forensic verify`; provide deterministic packaging and offline kit instructions. |
|
||||
|
||||
## Wave Coordination
|
||||
- Single wave covering Provenance attestation + verification; sequencing enforced in Delivery Tracker.
|
||||
|
||||
## Wave Detail Snapshots
|
||||
- Wave 1 (Provenance chain): Signer abstraction → Promotion predicate builder → Verification library → CLI/global tool packaging.
|
||||
|
||||
## Interlocks
|
||||
- Attestor/Orchestrator schema alignment for promotion predicates and job/export subjects.
|
||||
- Evidence Locker timeline proofs required for DSSE verification chain-of-custody.
|
||||
- CLI integration depends on DevEx/CLI guild packaging conventions.
|
||||
|
||||
## Upcoming Checkpoints
|
||||
- 2025-11-23 · CI rerun for PROV-OBS-53-002 to resolve MSB6006 and unblock downstream tasks.
|
||||
- 2025-11-26 · Schema alignment touchpoint with Orchestrator/Attestor guilds on promotion predicate fields.
|
||||
- 2025-11-29 · Offline kit packaging review for verification global tool (`PROV-OBS-54-002`) with DevEx/CLI guild.
|
||||
|
||||
## Action Tracker
|
||||
- Schedule CI environment rerun for PROV-OBS-53-002 with full dependency restore and logs attached.
|
||||
- Prepare schema notes for promotion predicate (image digest, SBOM/VEX materials, Rekor proof) ahead of 2025-11-26 checkpoint.
|
||||
- Draft offline kit instructions outline for PROV-OBS-54-002 to accelerate packaging once verification APIs land.
|
||||
|
||||
## Decisions & Risks
|
||||
**Risk table**
|
||||
| Risk | Impact | Mitigation | Owner |
|
||||
| --- | --- | --- | --- |
|
||||
| PROV-OBS-53-002 CI parity pending | If CI differs from local, could reopen downstream | Rerun in CI; publish logs; align SDK version | Provenance Guild |
|
||||
| Promotion predicate schema mismatch with Orchestrator/Attestor | Rework builder and verification APIs | Hold 2025-11-26 alignment; track deltas in docs; gate merges behind feature flag | Provenance Guild / Orchestrator Guild |
|
||||
| Offline verification kit drift vs CLI packaging rules | Users cannot verify in air-gap | Pair with DevEx/CLI guild; publish deterministic packaging steps and checksums | DevEx/CLI Guild |
|
||||
|
||||
- PROV-OBS-53-002 remains BLOCKED until CI rerun resolves MSB6006; PROV-OBS-53-003/54-001/54-002 stay gated.
|
||||
- Archived/complete items move to `docs/implplan/archived/tasks.md` after closure.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-22 | PROV-OBS-53-003 delivered: promotion attestation builder signs canonical predicate, enforces predicateType claim, tests passing. | Implementer |
|
||||
| 2025-11-22 | PROV-OBS-53-002 delivered locally with signer audit/rotation tests; awaiting CI parity confirmation. | Implementer |
|
||||
| 2025-11-22 | Normalised sprint to standard template and renamed to `SPRINT_0513_0001_0001_provenance.md`; no scope changes. | Project Mgmt |
|
||||
| 2025-11-18 | Marked PROV-OBS-53-002 as BLOCKED (tests cannot run locally: dotnet test MSB6006). Downstream PROV-OBS-53-003 blocked on 53-002 verification. | Provenance |
|
||||
| 2025-11-18 | PROV-OBS-53-002 tests blocked locally (dotnet test MSB6006 after long dependency builds); rerun required in CI/less constrained agent. | Provenance |
|
||||
| 2025-11-17 | Started PROV-OBS-53-002: added cosign/kms/offline signer abstractions, rotating key provider, audit hooks, and unit tests; full test run pending. | Provenance |
|
||||
| 2025-11-17 | PROV-OBS-53-001 delivered: canonical BuildDefinition/BuildMetadata hashes, Merkle helpers, deterministic tests, and sample DSSE statements for orchestrator/job/export subjects. | Provenance |
|
||||
@@ -14,14 +14,14 @@
|
||||
- docs/dev/crypto.md
|
||||
- docs/modules/platform/architecture-overview.md
|
||||
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
## Delivery Tracker
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| P1 | PREP-AUTH-CRYPTO-90-001-NEEDS-AUTHORITY-PROVI | DONE (2025-11-20) | Prep note at `docs/modules/authority/prep/2025-11-20-auth-crypto-provider-prep.md`; awaiting contract publication. | Authority Core & Security Guild | Needs Authority provider/key format spec & JWKS export requirements. <br><br> Document artefact/deliverable for AUTH-CRYPTO-90-001 and publish location so downstream tasks can proceed. |
|
||||
| 1 | SEC-CRYPTO-90-017 | TODO | Fork present; integrate into solution | Security Guild | Vendor `third_party/forks/AlexMAS.GostCryptography` into the solution build (solution filters, Directory.Build props, CI) so the library compiles with the repo and publishes artifacts. |
|
||||
| 2 | SEC-CRYPTO-90-018 | TODO | After 90-017 | Security & Docs Guilds | Update developer/RootPack documentation to describe the fork, sync steps, and licensing. |
|
||||
| 3 | SEC-CRYPTO-90-019 | TODO | After 90-017 | Security Guild | Patch the fork to drop vulnerable `System.Security.Cryptography.{Pkcs,Xml}` 6.0.0 deps; retarget .NET 8+, rerun tests. |
|
||||
| 4 | SEC-CRYPTO-90-020 | TODO | After 90-017/019 | Security Guild | Re-point `StellaOps.Cryptography.Plugin.CryptoPro` to the forked sources and prove end-to-end plugin wiring. |
|
||||
| 1 | SEC-CRYPTO-90-017 | TODO | Fork present; integrate into solution | Security Guild | Vendor `third_party/forks/AlexMAS.GostCryptography` into the solution build (solution filters, Directory.Build props, CI) so the library compiles with the repo and publishes artifacts. |
|
||||
| 2 | SEC-CRYPTO-90-018 | TODO | After 90-017 | Security & Docs Guilds | Update developer/RootPack documentation to describe the fork, sync steps, and licensing. |
|
||||
| 3 | SEC-CRYPTO-90-019 | TODO | After 90-017 | Security Guild | Patch the fork to drop vulnerable `System.Security.Cryptography.{Pkcs,Xml}` 6.0.0 deps; retarget .NET 8+, rerun tests. |
|
||||
| 4 | SEC-CRYPTO-90-020 | TODO | After 90-017/019 | Security Guild | Re-point `StellaOps.Cryptography.Plugin.CryptoPro` to the forked sources and prove end-to-end plugin wiring. |
|
||||
| 5 | SEC-CRYPTO-90-021 | TODO | After 90-020 | Security & QA Guilds | Validate forked library + plugin on Windows (CryptoPro CSP) and Linux (OpenSSL GOST fallback); document prerequisites. |
|
||||
| 6 | SEC-CRYPTO-90-012 | TODO | Env-gated | Security Guild | Add CryptoPro + PKCS#11 integration tests and hook into `scripts/crypto/run-rootpack-ru-tests.sh`. |
|
||||
| 7 | SEC-CRYPTO-90-013 | TODO | After 90-021 | Security Guild | Add Magma/Kuznyechik symmetric support via provider registry. |
|
||||
@@ -31,24 +31,49 @@
|
||||
| 11 | SCANNER-CRYPTO-90-001 | TODO | Needs registry wiring | Scanner WebService Guild · Security Guild | Route hashing/signing flows through `ICryptoProviderRegistry`. |
|
||||
| 12 | SCANNER-WORKER-CRYPTO-90-001 | TODO | After 11 | Scanner Worker Guild · Security Guild | Wire Scanner Worker/BuildX analyzers to registry/hash abstractions. |
|
||||
| 13 | SCANNER-CRYPTO-90-002 | TODO | PQ profile | Scanner WebService Guild · Security Guild | Enable PQ-friendly DSSE (Dilithium/Falcon) via provider options. |
|
||||
| 14 | SCANNER-CRYPTO-90-003 | TODO | After 13 | Scanner Worker Guild · QA Guild | Add regression tests for RU/PQ profiles validating Merkle roots + DSSE chains. |
|
||||
| 15 | ATTESTOR-CRYPTO-90-001 | TODO | Registry wiring | Attestor Service Guild · Security Guild | Migrate attestation hashing/witness flows to provider registry, enabling CryptoPro/PKCS#11 deployments. |
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 14 | SCANNER-CRYPTO-90-003 | TODO | After 13 | Scanner Worker Guild · QA Guild | Add regression tests for RU/PQ profiles validating Merkle roots + DSSE chains. |
|
||||
| 15 | ATTESTOR-CRYPTO-90-001 | TODO | Registry wiring | Attestor Service Guild · Security Guild | Migrate attestation hashing/witness flows to provider registry, enabling CryptoPro/PKCS#11 deployments. |
|
||||
|
||||
## Wave Coordination
|
||||
- Single-wave sprint; no concurrent waves scheduled. Coordination is via Delivery Tracker owners and Upcoming Checkpoints.
|
||||
|
||||
## Wave Detail Snapshots
|
||||
- None yet. Populate if the sprint splits into multiple waves or milestones.
|
||||
|
||||
## Interlocks
|
||||
- AUTH-CRYPTO-90-001 contract publication is required before runtime wiring tasks (8, 10, 15) proceed.
|
||||
- CI runner support for CryptoPro/PKCS#11 (pins, drivers) gates integration tests (tasks 5–6).
|
||||
- PQ provider option design must align with registry abstractions to avoid divergent hashing behavior (tasks 13–14).
|
||||
|
||||
## Upcoming Checkpoints
|
||||
- 2025-11-19 · Draft Authority provider/JWKS contract to unblock AUTH-CRYPTO-90-001. Owner: Authority Core.
|
||||
- 2025-11-21 · Decide CI gating approach for CryptoPro/PKCS#11 tests. Owner: Security Guild.
|
||||
- 2025-11-24 · Fork patch status (SEC-CRYPTO-90-019) and plugin rewire plan (SEC-CRYPTO-90-020). Owner: Security Guild.
|
||||
|
||||
## Action Tracker
|
||||
| Action | Owner | Due (UTC) | Status | Notes |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Publish Authority provider/JWKS contract (AUTH-CRYPTO-90-001) | Authority Core | 2025-11-19 | Overdue | Blocks tasks 8, 10, 15; depends on contract finalisation. |
|
||||
| Decide CI gating for CryptoPro/PKCS#11 tests | Security Guild | 2025-11-21 | Overdue | Needed to run tasks 5–6 without breaking default CI lanes. |
|
||||
| Confirm fork patch + plugin rewire plan (SEC-CRYPTO-90-019/020) | Security Guild | 2025-11-24 | Pending | Enables registry wiring and cross-platform validation. |
|
||||
|
||||
## Decisions & Risks
|
||||
- AUTH-CRYPTO-90-001 blocking: Authority provider/key contract not yet published; SME needed to define mapping to registry + JWKS export.
|
||||
- CI coverage for CryptoPro/PKCS#11 may require optional pipelines; guard with env/pin gating to keep default CI green.
|
||||
- PQ support requires provider options design; keep deterministic hashing across providers.
|
||||
|
||||
| ID | Risk / Decision | Impact | Mitigation | Owner | Status |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| R1 | Authority provider/JWKS contract unpublished (AUTH-CRYPTO-90-001) | Blocks runtime wiring tasks (8, 10, 15) and registry alignment. | Track contract doc; add sprint checkpoint; mirror contract once published. | Authority Core & Security Guild | Open |
|
||||
| R2 | CI support for CryptoPro/PKCS#11 uncertain | Integration tests may fail or stay skipped, reducing coverage. | Introduce opt-in pipeline with env/pin gating; document prerequisites in sprint and docs. | Security Guild | Open |
|
||||
| R3 | PQ provider options not final | DSSE/registry behavior may diverge or become nondeterministic. | Design provider options aligned to registry abstractions; add regression tests (tasks 13–14). | Scanner Guild | Open |
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-22 | Normalised sections to docs/implplan template (added Wave/Interlocks/Action Tracker, reordered checkpoints/risks). No task status changes. | Planning |
|
||||
| 2025-11-20 | Published Authority crypto provider/JWKS prep note (`docs/modules/authority/prep/2025-11-20-auth-crypto-provider-prep.md`); marked PREP-AUTH-CRYPTO-90-001 DONE. | Implementer |
|
||||
| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning |
|
||||
| 2025-11-18 | Normalised sprint to standard template; renamed from SPRINT_514_sovereign_crypto_enablement.md. | Security Docs |
|
||||
| 2025-11-18 | Downloaded MongoDB 4.4.4 binaries into `local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/mongodb-linux-x86_64-ubuntu2004-4.4.4/bin/mongod`; reran `dotnet vstest …AdvisoryChunksEndpoint_ReturnsParagraphAnchors` but Mongo2Go still cannot connect (timeout/connection refused to 127.0.0.1). Concelier AOC tasks remain BLOCKED pending stable Mongo2Go startup. | Concelier WebService |
|
||||
| 2025-11-18 | Targeted `dotnet vstest ...StellaOps.Concelier.WebService.Tests.dll --TestCaseFilter:AdvisoryChunksEndpoint_ReturnsParagraphAnchors` failed: Mongo2Go cannot start (mongod binaries not found; connection refused 127.0.0.1:35961). Concelier AOC tasks remain BLOCKED pending usable Mongo2Go binary path. | Concelier WebService |
|
||||
| 2025-11-20 | Published Authority crypto provider/JWKS prep note (`docs/modules/authority/prep/2025-11-20-auth-crypto-provider-prep.md`); marked PREP-AUTH-CRYPTO-90-001 DONE. | Implementer |
|
||||
|
||||
## Decisions & Risks
|
||||
- AUTH-CRYPTO-90-001 blocking: Authority provider/key contract not yet published; SME needed to define mapping to registry + JWKS export.
|
||||
- CI coverage for CryptoPro/PKCS#11 may require optional pipelines; guard with env/pin gating to keep default CI green.
|
||||
- PQ support requires provider options design; keep deterministic hashing across providers.
|
||||
|
||||
## Next Checkpoints
|
||||
- 2025-11-19 · Draft Authority provider/JWKS contract to unblock AUTH-CRYPTO-90-001. Owner: Authority Core.
|
||||
- 2025-11-21 · Decide CI gating approach for CryptoPro/PKCS#11 tests. Owner: Security Guild.
|
||||
- 2025-11-24 · Fork patch status (SEC-CRYPTO-90-019) and plugin rewire plan (SEC-CRYPTO-90-020). Owner: Security Guild.
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
# Sprint 201 - Experience & SDKs · 180.A) Cli.I
|
||||
|
||||
Active items only. Completed/historic work now resides in docs/implplan/archived/tasks.md (updated 2025-11-08).
|
||||
|
||||
[Experience & SDKs] 180.A) Cli.I
|
||||
Depends on: Sprint 120.A - AirGap, Sprint 130.A - Scanner, Sprint 150.A - Orchestrator, Sprint 170.A - Notifier
|
||||
Summary: Experience & SDKs focus on Cli (phase I).
|
||||
Task ID | State | Task description | Owners (Source)
|
||||
--- | --- | --- | ---
|
||||
PREP-CLI-VULN-29-001-ARTEFACTS | DONE (2025-11-19) | Published frozen artefacts for CLI-VULN-29-001 under `out/console/guardrails/cli-vuln-29-001/` with hashes and doc `docs/modules/cli/artefacts/guardrails-artefacts-2025-11-19.md`. | DevEx/CLI Guild · Docs Guild (src/Cli/StellaOps.Cli)
|
||||
PREP-CLI-VEX-30-001-ARTEFACTS | DONE (2025-11-19) | Published frozen artefacts for CLI-VEX-30-001 under `out/console/guardrails/cli-vex-30-001/` with hashes and doc `docs/modules/cli/artefacts/guardrails-artefacts-2025-11-19.md`. | DevEx/CLI Guild · Docs Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-AIAI-31-001 | TODO | Implement `stella advise summarize` command with JSON/Markdown outputs and citation display. | DevEx/CLI Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-AIAI-31-002 | TODO | Implement `stella advise explain` showing conflict narrative and structured rationale. Dependencies: CLI-AIAI-31-001. | DevEx/CLI Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-AIAI-31-003 | TODO | Implement `stella advise remediate` generating remediation plans with `--strategy` filters and file output. Dependencies: CLI-AIAI-31-002. | DevEx/CLI Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-AIAI-31-004 | TODO | Implement `stella advise batch` for summaries/conflicts/remediation with progress + multi-status responses. Dependencies: CLI-AIAI-31-003. | DevEx/CLI Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-AIRGAP-56-001 | TODO | Implement `stella mirror create | DevEx/CLI Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-AIRGAP-56-002 | TODO | Ensure telemetry propagation under sealed mode (no remote exporters) while preserving correlation IDs; add label `AirGapped-Phase-1`. Dependencies: CLI-AIRGAP-56-001. | DevEx/CLI Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-AIRGAP-57-001 | TODO | Add `stella airgap import` with diff preview, bundle scope selection (`--tenant`, `--global`), audit logging, and progress reporting. Dependencies: CLI-AIRGAP-56-002. | DevEx/CLI Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-AIRGAP-57-002 | TODO | Provide `stella airgap seal. Dependencies: CLI-AIRGAP-57-001. | DevEx/CLI Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-AIRGAP-58-001 | TODO | Implement `stella airgap export evidence` helper for portable evidence packages, including checksum manifest and verification. Dependencies: CLI-AIRGAP-57-002. | DevEx/CLI Guild, Evidence Locker Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-ATTEST-73-001 | TODO | Implement `stella attest sign` (payload selection, subject digest, key reference, output format) using official SDK transport. | CLI Attestor Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-ATTEST-73-002 | TODO | Implement `stella attest verify` with policy selection, explainability output, and JSON/table formatting. Dependencies: CLI-ATTEST-73-001. | CLI Attestor Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-ATTEST-74-001 | TODO | Implement `stella attest list` with filters (subject, type, issuer, scope) and pagination. Dependencies: CLI-ATTEST-73-002. | CLI Attestor Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-ATTEST-74-002 | TODO | Implement `stella attest fetch` to download envelopes and payloads to disk. Dependencies: CLI-ATTEST-74-001. | CLI Attestor Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-ATTEST-75-001 | TODO | Implement `stella attest key create. Dependencies: CLI-ATTEST-74-002. | CLI Attestor Guild, KMS Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-ATTEST-75-002 | TODO | Add support for building/verifying attestation bundles in CLI. Dependencies: CLI-ATTEST-75-001. | CLI Attestor Guild, Export Guild (src/Cli/StellaOps.Cli)
|
||||
CLI-HK-201-002 | BLOCKED | Await offline kit status contract and sample bundle; cannot finalize status coverage tests. | DevEx/CLI Guild (src/Cli/StellaOps.Cli)
|
||||
@@ -1,15 +0,0 @@
|
||||
# Sprint 206 - Experience & SDKs · 180.B) DevPortal
|
||||
|
||||
Active items only. Completed/historic work now resides in docs/implplan/archived/tasks.md (updated 2025-11-08).
|
||||
|
||||
[Experience & SDKs] 180.B) DevPortal
|
||||
Depends on: Sprint 120.A - AirGap, Sprint 130.A - Scanner, Sprint 150.A - Orchestrator, Sprint 170.A - Notifier
|
||||
Summary: Experience & SDKs focus on DevPortal).
|
||||
Task ID | State | Task description | Owners (Source)
|
||||
--- | --- | --- | ---
|
||||
DEVPORT-62-001 | TODO | Select static site generator, integrate aggregate spec, build navigation + search scaffolding. | Developer Portal Guild (src/DevPortal/StellaOps.DevPortal.Site)
|
||||
DEVPORT-62-002 | TODO | Implement schema viewer, example rendering, copy-curl snippets, and version selector UI. Dependencies: DEVPORT-62-001. | Developer Portal Guild (src/DevPortal/StellaOps.DevPortal.Site)
|
||||
DEVPORT-63-001 | TODO | Add Try-It console pointing at sandbox environment with token onboarding and scope info. Dependencies: DEVPORT-62-002. | Developer Portal Guild, Platform Guild (src/DevPortal/StellaOps.DevPortal.Site)
|
||||
DEVPORT-63-002 | TODO | Embed language-specific SDK snippets and quick starts generated from tested examples. Dependencies: DEVPORT-63-001. | Developer Portal Guild, SDK Generator Guild (src/DevPortal/StellaOps.DevPortal.Site)
|
||||
DEVPORT-64-001 | TODO | Provide offline build target bundling HTML, specs, SDK archives; ensure no external assets. Dependencies: DEVPORT-63-002. | Developer Portal Guild, Export Center Guild (src/DevPortal/StellaOps.DevPortal.Site)
|
||||
DEVPORT-64-002 | TODO | Add automated accessibility tests, link checker, and performance budgets. Dependencies: DEVPORT-64-001. | Developer Portal Guild (src/DevPortal/StellaOps.DevPortal.Site)
|
||||
@@ -1,21 +0,0 @@
|
||||
# Sprint 207 - Experience & SDKs · 180.C) Graph
|
||||
|
||||
Active items only. Completed/historic work now resides in docs/implplan/archived/tasks.md (updated 2025-11-08).
|
||||
|
||||
[Experience & SDKs] 180.C) Graph
|
||||
Depends on: Sprint 120.A - AirGap, Sprint 130.A - Scanner, Sprint 150.A - Orchestrator, Sprint 170.A - Notifier
|
||||
Summary: Experience & SDKs focus on Graph).
|
||||
Task ID | State | Task description | Owners (Source)
|
||||
--- | --- | --- | ---
|
||||
GRAPH-API-28-001 | TODO | Define OpenAPI + JSON schema for graph search/query/paths/diff/export endpoints, including cost metadata and streaming tile schema. | Graph API Guild (src/Graph/StellaOps.Graph.Api)
|
||||
GRAPH-API-28-002 | TODO | Implement `/graph/search` with multi-type index lookup, prefix/exact match, RBAC enforcement, and result ranking + caching. Dependencies: GRAPH-API-28-001. | Graph API Guild (src/Graph/StellaOps.Graph.Api)
|
||||
GRAPH-API-28-003 | TODO | Build query planner + cost estimator for `/graph/query`, stream tiles (nodes/edges/stats) progressively, enforce budgets, provide cursor tokens. Dependencies: GRAPH-API-28-002. | Graph API Guild (src/Graph/StellaOps.Graph.Api)
|
||||
GRAPH-API-28-004 | TODO | Implement `/graph/paths` with depth ≤6, constraint filters, heuristic shortest path search, and optional policy overlay rendering. Dependencies: GRAPH-API-28-003. | Graph API Guild (src/Graph/StellaOps.Graph.Api)
|
||||
GRAPH-API-28-005 | TODO | Implement `/graph/diff` streaming added/removed/changed nodes/edges between SBOM snapshots; include overlay deltas and policy/VEX/advisory metadata. Dependencies: GRAPH-API-28-004. | Graph API Guild (src/Graph/StellaOps.Graph.Api)
|
||||
GRAPH-API-28-006 | TODO | Consume Policy Engine overlay contract (`POLICY-ENGINE-30-001..003`) and surface advisory/VEX/policy overlays with caching, partial materialization, and explain trace sampling for focused nodes. Dependencies: GRAPH-API-28-005. | Graph API Guild (src/Graph/StellaOps.Graph.Api)
|
||||
GRAPH-API-28-007 | TODO | Implement exports (`graphml`, `csv`, `ndjson`, `png`, `svg`) with async job management, checksum manifests, and streaming downloads. Dependencies: GRAPH-API-28-006. | Graph API Guild (src/Graph/StellaOps.Graph.Api)
|
||||
GRAPH-API-28-008 | TODO | Integrate RBAC scopes (`graph:read`, `graph:query`, `graph:export`), tenant headers, audit logging, and rate limiting. Dependencies: GRAPH-API-28-007. | Graph API Guild, Authority Guild (src/Graph/StellaOps.Graph.Api)
|
||||
GRAPH-API-28-009 | TODO | Instrument metrics (`graph_tile_latency_seconds`, `graph_query_budget_denied_total`, `graph_overlay_cache_hit_ratio`), structured logs, and traces per query stage; publish dashboards. Dependencies: GRAPH-API-28-008. | Graph API Guild, Observability Guild (src/Graph/StellaOps.Graph.Api)
|
||||
GRAPH-API-28-010 | TODO | Build unit/integration/load tests with synthetic datasets (500k nodes/2M edges), fuzz query validation, verify determinism across runs. Dependencies: GRAPH-API-28-009. | Graph API Guild, QA Guild (src/Graph/StellaOps.Graph.Api)
|
||||
GRAPH-API-28-011 | TODO | Provide deployment manifests, offline kit support, API gateway integration docs, and smoke tests. Dependencies: GRAPH-API-28-010. | Graph API Guild, DevOps Guild (src/Graph/StellaOps.Graph.Api)
|
||||
GRAPH-INDEX-28-011 | DONE (2025-11-04) | Wire SBOM ingest runtime to emit graph snapshot artifacts, add DI factory helpers, and document Mongo/snapshot environment guidance. Dependencies: GRAPH-INDEX-28-002..006. | Graph Indexer Guild (src/Graph/StellaOps.Graph.Indexer)
|
||||
@@ -1,21 +0,0 @@
|
||||
# Sprint 208 - Experience & SDKs · 180.D) Sdk
|
||||
|
||||
Active items only. Completed/historic work now resides in docs/implplan/archived/tasks.md (updated 2025-11-08).
|
||||
|
||||
[Experience & SDKs] 180.D) Sdk
|
||||
Depends on: Sprint 120.A - AirGap, Sprint 130.A - Scanner, Sprint 150.A - Orchestrator, Sprint 170.A - Notifier
|
||||
Summary: Experience & SDKs focus on Sdk).
|
||||
Task ID | State | Task description | Owners (Source)
|
||||
--- | --- | --- | ---
|
||||
SDKGEN-62-001 | TODO | Choose/pin generator toolchain, set up language template pipeline, and enforce reproducible builds. | SDK Generator Guild (src/Sdk/StellaOps.Sdk.Generator)
|
||||
SDKGEN-62-002 | TODO | Implement shared post-processing (auth helpers, retries, pagination utilities, telemetry hooks) applied to all languages. Dependencies: SDKGEN-62-001. | SDK Generator Guild (src/Sdk/StellaOps.Sdk.Generator)
|
||||
SDKGEN-63-001 | TODO | Ship TypeScript SDK alpha with ESM/CJS builds, typed errors, paginator, streaming helpers. Dependencies: SDKGEN-62-002. | SDK Generator Guild (src/Sdk/StellaOps.Sdk.Generator)
|
||||
SDKGEN-63-002 | TODO | Ship Python SDK alpha (sync/async clients, type hints, upload/download helpers). Dependencies: SDKGEN-63-001. | SDK Generator Guild (src/Sdk/StellaOps.Sdk.Generator)
|
||||
SDKGEN-63-003 | TODO | Ship Go SDK alpha with context-first API and streaming helpers. Dependencies: SDKGEN-63-002. | SDK Generator Guild (src/Sdk/StellaOps.Sdk.Generator)
|
||||
SDKGEN-63-004 | TODO | Ship Java SDK alpha (builder pattern, HTTP client abstraction). Dependencies: SDKGEN-63-003. | SDK Generator Guild (src/Sdk/StellaOps.Sdk.Generator)
|
||||
SDKGEN-64-001 | TODO | Switch CLI to consume TS or Go SDK; ensure parity. Dependencies: SDKGEN-63-004. | SDK Generator Guild, CLI Guild (src/Sdk/StellaOps.Sdk.Generator)
|
||||
SDKGEN-64-002 | TODO | Integrate SDKs into Console data providers where feasible. Dependencies: SDKGEN-64-001. | SDK Generator Guild, Console Guild (src/Sdk/StellaOps.Sdk.Generator)
|
||||
SDKREL-63-001 | TODO | Configure CI pipelines for npm, PyPI, Maven Central staging, and Go proxies with signing and provenance attestations. | SDK Release Guild (src/Sdk/StellaOps.Sdk.Release)
|
||||
SDKREL-63-002 | TODO | Integrate changelog automation pulling from OAS diffs and generator metadata. Dependencies: SDKREL-63-001. | SDK Release Guild, API Governance Guild (src/Sdk/StellaOps.Sdk.Release)
|
||||
SDKREL-64-001 | TODO | Hook SDK releases into Notifications Studio with scoped announcements and RSS/Atom feeds. Dependencies: SDKREL-63-002. | SDK Release Guild, Notifications Guild (src/Sdk/StellaOps.Sdk.Release)
|
||||
SDKREL-64-002 | TODO | Add `devportal --offline` bundle job packaging docs, specs, SDK artifacts for air-gapped users. Dependencies: SDKREL-64-001. | SDK Release Guild, Export Center Guild (src/Sdk/StellaOps.Sdk.Release)
|
||||
@@ -1,28 +0,0 @@
|
||||
# Sprint 209 - Experience & SDKs · 180.E) UI.I
|
||||
|
||||
Active items only. Completed/historic work now resides in docs/implplan/archived/tasks.md (updated 2025-11-08).
|
||||
|
||||
[Experience & SDKs] 180.E) UI.I
|
||||
Depends on: Sprint 120.A - AirGap, Sprint 130.A - Scanner, Sprint 150.A - Orchestrator, Sprint 170.A - Notifier
|
||||
Summary: Experience & SDKs focus on UI (phase I).
|
||||
Task ID | State | Task description | Owners (Source)
|
||||
--- | --- | --- | ---
|
||||
UI-AOC-19-001 | TODO | Add Sources dashboard tiles showing AOC pass/fail, recent violation codes, and ingest throughput per tenant. | UI Guild (src/UI/StellaOps.UI)
|
||||
UI-AOC-19-002 | TODO | Implement violation drill-down view highlighting offending document fields and provenance metadata. Dependencies: UI-AOC-19-001. | UI Guild (src/UI/StellaOps.UI)
|
||||
UI-AOC-19-003 | TODO | Add "Verify last 24h" action triggering AOC verifier endpoint and surfacing CLI parity guidance. Dependencies: UI-AOC-19-002. | UI Guild (src/UI/StellaOps.UI)
|
||||
UI-EXC-25-001 | TODO | Build Exception Center (list + kanban) with filters, sorting, workflow transitions, and audit views. | UI Guild, Governance Guild (src/UI/StellaOps.UI)
|
||||
UI-EXC-25-002 | TODO | Implement exception creation wizard with scope preview, justification templates, timebox guardrails. Dependencies: UI-EXC-25-001. | UI Guild (src/UI/StellaOps.UI)
|
||||
UI-EXC-25-003 | TODO | Add inline exception drafting/proposing from Vulnerability Explorer and Graph detail panels with live simulation. Dependencies: UI-EXC-25-002. | UI Guild (src/UI/StellaOps.UI)
|
||||
UI-EXC-25-004 | TODO | Surface exception badges, countdown timers, and explain integration across Graph/Vuln Explorer and policy views. Dependencies: UI-EXC-25-003. | UI Guild (src/UI/StellaOps.UI)
|
||||
UI-EXC-25-005 | TODO | Add keyboard shortcuts (`x`,`a`,`r`) and ensure screen-reader messaging for approvals/revocations. Dependencies: UI-EXC-25-004. | UI Guild, Accessibility Guild (src/UI/StellaOps.UI)
|
||||
UI-GRAPH-21-001 | TODO | Align Graph Explorer auth configuration with new `graph:*` scopes; consume scope identifiers from shared `StellaOpsScopes` exports (via generated SDK/config) instead of hard-coded strings. | UI Guild (src/UI/StellaOps.UI)
|
||||
UI-GRAPH-24-001 | TODO | Build Graph Explorer canvas with layered/radial layouts, virtualization, zoom/pan, and scope toggles; initial render <1.5s for sample asset. Dependencies: UI-GRAPH-21-001. | UI Guild, SBOM Service Guild (src/UI/StellaOps.UI)
|
||||
UI-GRAPH-24-002 | TODO | Implement overlays (Policy, Evidence, License, Exposure), simulation toggle, path view, and SBOM diff/time-travel with accessible tooltips/AOC indicators. Dependencies: UI-GRAPH-24-001. | UI Guild, Policy Guild (src/UI/StellaOps.UI)
|
||||
UI-GRAPH-24-003 | TODO | Deliver filters/search panel with facets, saved views, permalinks, and share modal. Dependencies: UI-GRAPH-24-002. | UI Guild (src/UI/StellaOps.UI)
|
||||
UI-GRAPH-24-004 | TODO | Add side panels (Details, What-if, History) with upgrade simulation integration and SBOM diff viewer. Dependencies: UI-GRAPH-24-003. | UI Guild (src/UI/StellaOps.UI)
|
||||
UI-GRAPH-24-006 | TODO | Ensure accessibility (keyboard nav, screen reader labels, contrast), add hotkeys (`f`,`e`,`.`), and analytics instrumentation. Dependencies: UI-GRAPH-24-004. | UI Guild, Accessibility Guild (src/UI/StellaOps.UI)
|
||||
UI-LNM-22-001 | TODO | Build Evidence panel showing policy decision with advisory observations/linksets side-by-side, conflict badges, AOC chain, and raw doc download links. Docs `DOCS-LNM-22-005` waiting on delivered UI for screenshots + flows. | UI Guild, Policy Guild (src/UI/StellaOps.UI)
|
||||
UI-SBOM-DET-01 | TODO | Add a “Determinism” badge plus drill-down that surfaces fragment hashes, `_composition.json`, and Merkle root consistency when viewing scan details (per `docs/modules/scanner/deterministic-sbom-compose.md`). | UI Guild (src/UI/StellaOps.UI) |
|
||||
UI-POLICY-DET-01 | TODO | Wire policy gate indicators + remediation hints into Release/Policy flows, blocking publishes when determinism checks fail; coordinate with Policy Engine schema updates. Dependencies: UI-SBOM-DET-01. | UI Guild, Policy Guild (src/UI/StellaOps.UI) |
|
||||
UI-ENTROPY-40-001 | TODO | Visualise entropy analysis per image (layer donut, file heatmaps, “Why risky?” chips) in Vulnerability Explorer and scan details, including opaque byte ratios and detector hints (see `docs/modules/scanner/entropy.md`). | UI Guild (src/UI/StellaOps.UI) |
|
||||
UI-ENTROPY-40-002 | TODO | Add policy banners/tooltips explaining entropy penalties (block/warn thresholds, mitigation steps) and link to raw `entropy.report.json` evidence downloads (`docs/modules/scanner/entropy.md`). Dependencies: UI-ENTROPY-40-001. | UI Guild, Policy Guild (src/UI/StellaOps.UI) |
|
||||
@@ -1,37 +0,0 @@
|
||||
# Sprint 212 - Experience & SDKs · 180.F) Web.I
|
||||
|
||||
Active items only. Completed/historic work now resides in docs/implplan/archived/tasks.md (updated 2025-11-08).
|
||||
|
||||
[Experience & SDKs] 180.F) Web.I
|
||||
Depends on: Sprint 120.A - AirGap, Sprint 130.A - Scanner, Sprint 150.A - Orchestrator, Sprint 170.A - Notifier
|
||||
Summary: Experience & SDKs focus on Web (phase I).
|
||||
Task ID | State | Task description | Owners (Source)
|
||||
--- | --- | --- | ---
|
||||
WEB-AIAI-31-001 `API routing` | TODO | Route `/advisory/ai/*` endpoints through gateway with RBAC/ABAC, rate limits, and telemetry headers. | BE-Base Platform Guild (src/Web/StellaOps.Web)
|
||||
WEB-AIAI-31-002 `Batch orchestration` | TODO | Provide batching job handlers and streaming responses for CLI automation with retry/backoff. Dependencies: WEB-AIAI-31-001. | BE-Base Platform Guild (src/Web/StellaOps.Web)
|
||||
WEB-AIAI-31-003 `Telemetry & audit` | TODO | Emit metrics/logs (latency, guardrail blocks, validation failures) and forward anonymized prompt hashes to analytics. Dependencies: WEB-AIAI-31-002. | BE-Base Platform Guild, Observability Guild (src/Web/StellaOps.Web)
|
||||
> 2025-11-07: Enforced unknown-field detection, added the shared `AocError` payload (HTTP + CLI), refreshed guard docs, and extended tests/endpoint helpers.
|
||||
WEB-AOC-19-002 `Provenance & signature helpers` | TODO | Ship `ProvenanceBuilder`, checksum utilities, and signature verification helper integrated with guard logging. Cover DSSE/CMS formats with unit tests. Dependencies: WEB-AOC-19-001. | BE-Base Platform Guild (src/Web/StellaOps.Web)
|
||||
WEB-AOC-19-003 `Analyzer + test fixtures` | TODO | Author Roslyn analyzer preventing ingestion modules from writing forbidden keys without guard, and provide shared test fixtures for guard validation used by Concelier/Excititor service tests. Dependencies: WEB-AOC-19-002. | QA Guild, BE-Base Platform Guild (src/Web/StellaOps.Web)
|
||||
WEB-CONSOLE-23-001 `Global posture endpoints` | TODO | Provide consolidated `/console/dashboard` and `/console/filters` APIs returning tenant-scoped aggregates (findings by severity, VEX override counts, advisory deltas, run health, policy change log). Enforce AOC labelling, deterministic ordering, and cursor-based pagination for drill-down hints. | BE-Base Platform Guild, Product Analytics Guild (src/Web/StellaOps.Web)
|
||||
CONSOLE-VULN-29-001 `Vulnerability workspace` | BLOCKED (2025-11-19) | Awaiting WEB-CONSOLE-23-001 contract and Concelier graph schema; cannot finalize endpoints until schemas freeze. | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web)
|
||||
> 2025-11-07: API scaffolding kicked off; `docs/advisory-ai/console.md` consuming placeholder responses until this lands. Scheduler/Signals hooks queued once filters stabilized.
|
||||
> 2025-11-08: Driving filter + reachability badge wiring plus `/console/vuln/search` DTOs to keep DOCS-AIAI-31-004 on real payloads; aligning Signals/Scheduler dependencies now that upstream tickets exist.
|
||||
> 2025-11-08: Published HTTP contract + sample payloads in `docs/api/console/workspaces.md` and `docs/api/console/samples/vuln-findings-sample.json` so Docs can stage screenshots while backend wires up.
|
||||
CONSOLE-VEX-30-001 `VEX evidence workspace` | BLOCKED (2025-11-19) | Blocked on WEB-CONSOLE-23-001 and Excititor console contract; needs validated SSE payload + schemas. | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web)
|
||||
> 2025-11-07: Endpoint contract draft in progress to unblock DOCS-AIAI-31-004 screenshot capture once responses are wired.
|
||||
> 2025-11-08: Building SSE controller + `/console/vex/events` payloads and syncing Scheduler Signals tasks so DOCS-AIAI-31-004 can embed live data.
|
||||
> 2025-11-08: SSE schema + NDJSON sample captured in `docs/api/console/workspaces.md` and `docs/api/console/samples/vex-statement-sse.ndjson`; waiting on Scheduler topic hook-up.
|
||||
WEB-CONSOLE-23-002 `Live status & SSE proxy` | TODO | Expose `/console/status` polling endpoint and `/console/runs/{id}/stream` SSE/WebSocket proxy with heartbeat/backoff, queue lag metrics, and auth scope enforcement. Surface request IDs + retry headers. Dependencies: WEB-CONSOLE-23-001. | BE-Base Platform Guild, Scheduler Guild (src/Web/StellaOps.Web)
|
||||
WEB-CONSOLE-23-003 `Evidence export orchestrator` | TODO | Add `/console/exports` POST/GET routes coordinating evidence bundle creation, streaming CSV/JSON exports, checksum manifest retrieval, and signed attestation references. Ensure requests honor tenant + policy scopes and expose job tracking metadata. Dependencies: WEB-CONSOLE-23-002. | BE-Base Platform Guild, Policy Guild (src/Web/StellaOps.Web)
|
||||
WEB-CONSOLE-23-004 `Global search router` | TODO | Implement `/console/search` endpoint accepting CVE/GHSA/PURL/SBOM identifiers, performing fan-out queries with caching, ranking, and deterministic tie-breaking. Return typed results for Console navigation; respect result caps and latency SLOs. Dependencies: WEB-CONSOLE-23-003. | BE-Base Platform Guild (src/Web/StellaOps.Web)
|
||||
WEB-CONSOLE-23-005 `Downloads manifest API` | TODO | Serve `/console/downloads` JSON manifest (images, charts, offline bundles) sourced from signed registry metadata; include integrity hashes, release notes links, and offline instructions. Provide caching headers and documentation. Dependencies: WEB-CONSOLE-23-004. | BE-Base Platform Guild, DevOps Guild (src/Web/StellaOps.Web)
|
||||
WEB-CONTAINERS-44-001 `Config discovery & quickstart flag` | DONE | Expose `/welcome` state, config discovery endpoint (safe values), and `QUICKSTART_MODE` handling for Console banner; add `/health/liveness`, `/health/readiness`, `/version` if missing. | BE-Base Platform Guild (src/Web/StellaOps.Web)
|
||||
WEB-CONTAINERS-45-001 `Helm readiness support` | DONE | Added readiness/liveness/version JSON assets for helm probes; quickstart/config flags already surfaced. | BE-Base Platform Guild (src/Web/StellaOps.Web)
|
||||
WEB-CONTAINERS-46-001 `Air-gap hardening` | DONE | Documented offline asset strategy and object-store override guidance; UI already serves local assets (no CDN). | BE-Base Platform Guild (src/Web/StellaOps.Web)
|
||||
WEB-EXC-25-001 `Exceptions CRUD & workflow` | TODO | Implement `/exceptions` API (create, propose, approve, revoke, list, history) with validation, pagination, and audit logging. | BE-Base Platform Guild (src/Web/StellaOps.Web)
|
||||
|
||||
## Updates
|
||||
- 2025-11-18: WEB-CONTAINERS-44-001 completed — added quickstart banner, `/welcome` config discovery page, and sample config values to surface safe deployment info.
|
||||
- 2025-11-19: WEB-CONTAINERS-45-001 completed — readiness/liveness/version JSON assets added for helm probes; config discovery is live via `/welcome`.
|
||||
- 2025-11-19: CONSOLE-VULN-29-001 and CONSOLE-VEX-30-001 marked BLOCKED pending WEB-CONSOLE-23-001 and upstream Concelier/Excititor schemas. |
|
||||
@@ -1,73 +0,0 @@
|
||||
# Sprint 401 – Reachability Evidence Chain
|
||||
|
||||
_Window:_ November 11 – November 22, 2025
|
||||
_Theme:_ Finish the provable reachability pipeline (graph CAS → replay → DSSE → policy/UI) so Sprint 402 can focus on polish.
|
||||
|
||||
## Wave coordination
|
||||
|
||||
| Wave | Guild owners | Shared prerequisites | Status | Notes |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 401 Reachability Evidence Chain | Scanner Guild · Signals Guild · BE-Base Platform Guild · Policy Guild · UI/CLI Guilds · Docs Guild | Sprint 140 Runtime & Signals; Sprint 185 – Replay Core; Sprint 186 – Scanner Record Mode; Sprint 187 – Evidence Locker & CLI Integration | TODO | Foundation work (Sprint 400) is still in flight; advance only after Scanner record mode emits replay manifests and Evidence Locker APIs exist. |
|
||||
|
||||
| Task ID | State | Task description | Owners (Source) |
|
||||
|---------|-------|------------------|-----------------|
|
||||
| GRAPH-CAS-401-001 | TODO | Finalize richgraph schema (`richgraph-v1`), emit canonical SymbolIDs, compute graph hash (BLAKE3), and store CAS manifests under `cas://reachability/graphs/{sha256}`. Update Scanner Worker adapters + fixtures. | Scanner Worker Guild (`src/Scanner/StellaOps.Scanner.Worker`) |
|
||||
| GAP-SYM-007 | TODO | Extend reachability evidence schema/DTOs with demangled symbol hints, `symbol.source`, confidence, and optional `code_block_hash`; ensure Scanner SBOM/evidence writers and CLI serializers emit the new fields deterministically. | Scanner Worker Guild & Docs Guild (`src/Scanner/StellaOps.Scanner.Models`, `docs/modules/scanner/architecture.md`, `docs/reachability/function-level-evidence.md`) |
|
||||
| SCAN-REACH-401-009 | TODO | Ship .NET/JVM symbolizers and call-graph generators (roots, edges, framework adapters), merge results into component-level reachability manifests, and back them with golden fixtures. | Scanner Worker Guild (`src/Scanner/StellaOps.Scanner.Worker`, `src/Scanner/__Libraries`) |
|
||||
| SCANNER-NATIVE-401-015 | TODO | Stand up `StellaOps.Scanner.Symbols.Native` + `StellaOps.Scanner.CallGraph.Native` (ELF/PE readers, demanglers, probabilistic carving) and publish `FuncNode`/`CallEdge` CAS bundles consumed by reachability graphs. | Scanner Worker Guild (`src/Scanner/__Libraries/StellaOps.Scanner.Symbols.Native`, `src/Scanner/__Libraries/StellaOps.Scanner.CallGraph.Native`) |
|
||||
| SYMS-SERVER-401-011 | TODO | Deliver `StellaOps.Symbols.Server` (REST+gRPC) with DSSE-verified uploads, Mongo/MinIO storage, tenant isolation, and deterministic debugId indexing; publish health/manifest APIs (spec: `docs/specs/SYMBOL_MANIFEST_v1.md`). | Symbols Guild (`src/Symbols/StellaOps.Symbols.Server`) |
|
||||
| SYMS-CLIENT-401-012 | TODO | Ship `StellaOps.Symbols.Client` SDK (resolve/upload APIs, platform key derivation for ELF/PDB/Mach-O/JVM/Node, disk LRU cache) and integrate with Scanner.Symbolizer/runtime probes (ref. `docs/specs/SYMBOL_MANIFEST_v1.md`). | Symbols Guild (`src/Symbols/StellaOps.Symbols.Client`, `src/Scanner/StellaOps.Scanner.Symbolizer`) |
|
||||
| SYMS-INGEST-401-013 | TODO | Build `symbols ingest` CLI to emit DSSE-signed `SymbolManifest v1`, upload blobs, and register Rekor entries; document GitLab/Gitea pipeline usage. | Symbols Guild, DevOps Guild (`src/Symbols/StellaOps.Symbols.Ingestor.Cli`, `docs/specs/SYMBOL_MANIFEST_v1.md`) |
|
||||
| SIGNALS-RUNTIME-401-002 | TODO | Ship `/signals/runtime-facts` ingestion for NDJSON (and gzip) batches, dedupe hits, and link runtime evidence CAS URIs to callgraph nodes. Include retention + RBAC tests. | Signals Guild (`src/Signals/StellaOps.Signals`) |
|
||||
| RUNTIME-PROBE-401-010 | TODO | Implement lightweight runtime probes (EventPipe/.NET, JFR/JVM) that capture method enter events for the target components, package them as CAS traces, and feed them into the Signals ingestion pipeline. | Runtime Signals Guild (`src/Signals/StellaOps.Signals.Runtime`, `ops/probes`) |
|
||||
| SIGNALS-SCORING-401-003 | TODO | Extend `ReachabilityScoringService` with deterministic scoring (static path +0.50, runtime hits +0.30/+0.10 sink, guard penalties, reflection penalty, floor 0.05), persist reachability labels (`reachable/conditional/unreachable`) and expose `/graphs/{scanId}` CAS lookups. | Signals Guild (`src/Signals/StellaOps.Signals`) |
|
||||
| REPLAY-401-004 | TODO | Bump replay manifest to v2 (feeds, analyzers, policies), have `ReachabilityReplayWriter` enforce CAS registration + hash sorting, and add deterministic tests to `tests/reachability/StellaOps.Reachability.FixtureTests`. | BE-Base Platform Guild (`src/__Libraries/StellaOps.Replay.Core`) |
|
||||
| AUTH-REACH-401-005 | TODO | Introduce DSSE predicate types for SBOM/Graph/VEX/Replay, plumb signing through Authority + Signer, and mirror statements to Rekor (including PQ variants where required). | Authority & Signer Guilds (`src/Authority/StellaOps.Authority`, `src/Signer/StellaOps.Signer`) |
|
||||
| POLICY-VEX-401-006 | TODO | Policy Engine consumes reachability facts, applies the deterministic score/label buckets (≥0.80 reachable, 0.30–0.79 conditional, <0.30 unreachable), emits OpenVEX with call-path proofs, and updates SPL schema with `reachability.state/confidence` predicates and suppression gates. | Policy Guild (`src/Policy/StellaOps.Policy.Engine`, `src/Policy/__Libraries/StellaOps.Policy`) |
|
||||
| POLICY-VEX-401-010 | TODO | Implement `VexDecisionEmitter` to serialize per-finding OpenVEX, attach evidence hashes, request DSSE signatures, capture Rekor metadata, and publish artifacts following the bench playbook. | Policy Guild (`src/Policy/StellaOps.Policy.Engine/Vex`, `docs/modules/policy/architecture.md`, `docs/benchmarks/vex-evidence-playbook.md`) |
|
||||
| UI-CLI-401-007 | TODO | Implement CLI `stella graph explain` + UI explain drawer showing signed call-path, predicates, runtime hits, and DSSE pointers; include counterfactual controls. | UI & CLI Guilds (`src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI`) |
|
||||
| QA-DOCS-401-008 | TODO | Wire `reachbench-2025-expanded` fixtures into CI, document CAS layouts + replay steps in `docs/reachability/DELIVERY_GUIDE.md`, and publish operator runbook for runtime ingestion. | QA & Docs Guilds (`docs`, `tests/README.md`) |
|
||||
| GAP-SIG-003 | TODO | Finish `/signals/runtime-facts` ingestion, add CAS-backed runtime storage, extend scoring to lattice states (`Unknown/NotPresent/Unreachable/Conditional/Reachable/Observed`), and emit `signals.fact.updated` events. Document retention/RBAC. | Signals Guild (`src/Signals/StellaOps.Signals`, `docs/reachability/function-level-evidence.md`) |
|
||||
| SIG-STORE-401-016 | TODO | Introduce shared reachability store collections (`func_nodes`, `call_edges`, `cve_func_hits`), indexes, and repository APIs so Scanner/Signals/Policy can reuse canonical function data. | Signals Guild · BE-Base Platform Guild (`src/Signals/StellaOps.Signals`, `src/__Libraries/StellaOps.Replay.Core`) |
|
||||
| GAP-REP-004 | TODO | Enforce BLAKE3 hashing + CAS registration for graphs/traces before manifest writes, upgrade replay manifest v2 with analyzer versions/policy thresholds, and add deterministic tests. | BE-Base Platform Guild (`src/__Libraries/StellaOps.Replay.Core`, `docs/replay/DETERMINISTIC_REPLAY.md`) |
|
||||
| GAP-POL-005 | TODO | Ingest reachability facts into Policy Engine, expose `reachability.state/confidence` in SPL/API, enforce auto-suppress (<0.30) rules, and generate OpenVEX evidence blocks referencing graph hashes + runtime facts with policy thresholds. | Policy Guild (`src/Policy/StellaOps.Policy.Engine`, `docs/modules/policy/architecture.md`, `docs/reachability/function-level-evidence.md`) |
|
||||
| GAP-VEX-006 | TODO | Wire Policy/Excititor/UI/CLI surfaces so VEX emission and explain drawers show call paths, graph hashes, and runtime hits; add CLI `--evidence=graph`/`--threshold` plus Notify template updates. | Policy, Excititor, UI, CLI & Notify Guilds (`docs/modules/excititor/architecture.md`, `src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI`, `docs/09_API_CLI_REFERENCE.md`) |
|
||||
| GAP-DOC-008 | TODO | Publish the cross-module function-level evidence guide, update API/CLI references with the new `code_id` fields, and add OpenVEX/replay samples under `samples/reachability/**`. | Docs Guild (`docs/reachability/function-level-evidence.md`, `docs/09_API_CLI_REFERENCE.md`, `docs/api/policy.md`) |
|
||||
| CLI-VEX-401-011 | TODO | Add `stella decision export|verify|compare` verbs, integrate with Policy/Signer APIs, and ship local verifier wrappers for bench artifacts. | CLI Guild (`src/Cli/StellaOps.Cli`, `docs/modules/cli/architecture.md`, `docs/benchmarks/vex-evidence-playbook.md`) |
|
||||
| SIGN-VEX-401-018 | TODO | Extend Signer predicate catalog with `stella.ops/vexDecision@v1`, enforce payload policy, and plumb DSSE/Rekor integration for policy decisions. | Signing Guild (`src/Signer/StellaOps.Signer`, `docs/modules/signer/architecture.md`) |
|
||||
| BENCH-AUTO-401-019 | TODO | Create automation to populate `bench/findings/**`, run baseline scanners (Trivy/Syft/Grype/Snyk/Xray), compute FP/MTTD/repro metrics, and update `results/summary.csv`. | Benchmarks Guild (`docs/benchmarks/vex-evidence-playbook.md`, `scripts/bench/**`) |
|
||||
| DOCS-VEX-401-012 | TODO | Maintain the VEX Evidence Playbook, publish repo templates/README, and document verification workflows for operators. | Docs Guild (`docs/benchmarks/vex-evidence-playbook.md`, `bench/README.md`) |
|
||||
| SYMS-BUNDLE-401-014 | TODO | Produce deterministic symbol bundles for air-gapped installs (`symbols bundle create|verify|load`), including DSSE manifests and Rekor checkpoints, and document offline workflows (`docs/specs/SYMBOL_MANIFEST_v1.md`). | Symbols Guild, Ops Guild (`src/Symbols/StellaOps.Symbols.Bundle`, `ops`) |
|
||||
| DOCS-RUNBOOK-401-017 | TODO | Publish the reachability runtime ingestion runbook, link it from delivery guides, and keep Ops/Signals troubleshooting steps current. | Docs Guild · Ops Guild (`docs/runbooks/reachability-runtime.md`, `docs/reachability/DELIVERY_GUIDE.md`) |
|
||||
| POLICY-LIB-401-001 | TODO | Extract the policy DSL parser/compiler into `StellaOps.PolicyDsl`, add the lightweight syntax (default action + inline rules), and expose `PolicyEngineFactory`/`SignalContext` APIs for reuse. | Policy Guild (`src/Policy/StellaOps.PolicyDsl`, `docs/policy/dsl.md`) |
|
||||
| POLICY-LIB-401-002 | TODO | Ship unit-test harness + sample `policy/default.dsl` (table-driven cases) and wire `stella policy lint/simulate` to the shared library. | Policy Guild, CLI Guild (`tests/Policy/StellaOps.PolicyDsl.Tests`, `policy/default.dsl`, `docs/policy/lifecycle.md`) |
|
||||
| POLICY-ENGINE-401-003 | TODO | Replace in-service DSL compilation with the shared library, support both legacy `stella-dsl@1` packs and the new inline syntax, and keep determinism hashes stable. | Policy Guild (`src/Policy/StellaOps.Policy.Engine`, `docs/modules/policy/architecture.md`) |
|
||||
| CLI-EDITOR-401-004 | TODO | Enhance `stella policy` CLI verbs (edit/lint/simulate) to edit Git-backed `.dsl` files, run local coverage tests, and commit SemVer metadata. | CLI Guild (`src/Cli/StellaOps.Cli`, `docs/policy/lifecycle.md`) |
|
||||
| DOCS-DSL-401-005 | TODO | Refresh `docs/policy/dsl.md` + lifecycle docs with the new syntax, signal dictionary (`trust_score`, `reachability`, etc.), authoring workflow, and safety rails (shadow mode, coverage tests). | Docs Guild (`docs/policy/dsl.md`, `docs/policy/lifecycle.md`) |
|
||||
| DSSE-LIB-401-020 | TODO | Package `StellaOps.Attestor.Envelope` primitives into a reusable `StellaOps.Attestation` library with `InTotoStatement`, `IAuthoritySigner`, DSSE pre-auth helpers, and .NET-friendly APIs for build agents. | Attestor Guild · Platform Guild (`src/Attestor/StellaOps.Attestation`, `src/Attestor/StellaOps.Attestor.Envelope`) |
|
||||
| DSSE-CLI-401-021 | TODO | Ship a `stella attest` CLI (or sample `StellaOps.Attestor.Tool`) plus GitLab/GitHub workflow snippets that emit DSSE per build step (scan/package/push) using the new library and Authority keys. | CLI Guild · DevOps Guild (`src/Cli/StellaOps.Cli`, `scripts/ci/attest-*`, `docs/modules/attestor/architecture.md`) |
|
||||
| DSSE-DOCS-401-022 | TODO | Document the build-time attestation walkthrough (`docs/ci/dsse-build-flow.md`): models, helper usage, Authority integration, storage conventions, and verification commands, aligning with the advisory. | Docs Guild · Attestor Guild (`docs/ci/dsse-build-flow.md`, `docs/modules/attestor/architecture.md`) |
|
||||
| REACH-LATTICE-401-023 | TODO | Define the reachability lattice model (`ReachState`, `EvidenceKind`, `MitigationKind`, scoring policy) in Scanner docs + code; ensure evidence joins write to the event graph schema. | Scanner Guild · Policy Guild (`docs/reachability/lattice.md`, `docs/modules/scanner/architecture.md`, `src/Scanner/StellaOps.Scanner.WebService`) |
|
||||
| UNCERTAINTY-SCHEMA-401-024 | TODO | Extend Signals findings with `uncertainty.states[]`, entropy fields, and `riskScore`; emit `FindingUncertaintyUpdated` events and persist evidence per docs. | Signals Guild (`src/Signals/StellaOps.Signals`, `docs/uncertainty/README.md`) |
|
||||
| UNCERTAINTY-SCORER-401-025 | TODO | Implement the entropy-aware risk scorer (`riskScore = base × reach × trust × (1 + entropyBoost)`) and wire it into finding writes. | Signals Guild (`src/Signals/StellaOps.Signals.Application`, `docs/uncertainty/README.md`) |
|
||||
| UNCERTAINTY-POLICY-401-026 | TODO | Update policy guidance (Concelier/Excitors) with uncertainty gates (U1/U2/U3), sample YAML rules, and remediation actions. | Policy Guild · Concelier Guild (`docs/policy/dsl.md`, `docs/uncertainty/README.md`) |
|
||||
| UNCERTAINTY-UI-401-027 | TODO | Surface uncertainty chips/tooltips in the Console (React UI) + CLI output (risk score + entropy states). | UI Guild · CLI Guild (`src/UI/StellaOps.UI`, `src/Cli/StellaOps.Cli`, `docs/uncertainty/README.md`) |
|
||||
| PROV-INLINE-401-028 | DONE | Extend Authority/Feedser event writers to attach inline DSSE + Rekor references on every SBOM/VEX/scan event using `StellaOps.Provenance.Mongo`. | Authority Guild · Feedser Guild (`docs/provenance/inline-dsse.md`, `src/__Libraries/StellaOps.Provenance.Mongo`) |
|
||||
| PROV-BACKFILL-INPUTS-401-029A | DONE | Attestation inventory and subject→Rekor map drafted (`docs/provenance/attestation-inventory-2025-11-18.ndjson`, `docs/provenance/subject-rekor-map-2025-11-18.json`). | Evidence Locker Guild · Platform Guild (`docs/provenance/inline-dsse.md`) |
|
||||
| PROV-BACKFILL-401-029 | TODO | Use inventory + map to resolve historical events and backfill provenance. | Platform Guild (`docs/provenance/inline-dsse.md`, `scripts/publish_attestation_with_provenance.sh`) |
|
||||
| PROV-INDEX-401-030 | TODO | Deploy provenance indexes (`events_by_subject_kind_provenance`, etc.) and expose compliance/replay queries. | Platform Guild · Ops Guild (`docs/provenance/inline-dsse.md`, `ops/mongo/indices/events_provenance_indices.js`) |
|
||||
| QA-CORPUS-401-031 | TODO | Build and publish the multi-runtime reachability corpus (Go/.NET/Python/Rust) with EXPECT.yaml ground truths and captured traces; wire fixtures into CI so reachability scoring and VEX proofs are continuously validated. | QA Guild · Scanner Guild (`tests/reachability`, `docs/reachability/DELIVERY_GUIDE.md`) |
|
||||
| UI-VEX-401-032 | TODO | Add UI/CLI “Explain/Verify” surfaces on VEX decisions (show call paths, runtime hits, attestation verify button) and align with reachability evidence output. | UI Guild · CLI Guild · Scanner Guild (`src/UI/StellaOps.UI`, `src/Cli/StellaOps.Cli`, `docs/reachability/function-level-evidence.md`) |
|
||||
| POLICY-GATE-401-033 | TODO | Enforce policy gate requiring reachability evidence for `not_affected`/`unreachable` VEX outcomes; fall back to “under review” when symbol confidence is low; update policy docs and tests. | Policy Guild · Scanner Guild (`src/Policy/StellaOps.Policy.Engine`, `docs/policy/dsl.md`, `docs/modules/scanner/architecture.md`) |
|
||||
| GRAPH-PURL-401-034 | TODO | Annotate call edges with callee purl + `symbol_digest`, update `richgraph-v1` schema/CAS, and surface fields in CLI/UI explainers. | Scanner Worker Guild · Signals Guild (`src/Scanner/StellaOps.Scanner.Worker`, `src/Signals/StellaOps.Signals`, `docs/reachability/purl-resolved-edges.md`) |
|
||||
| SCANNER-BUILDID-401-035 | TODO | Capture `.note.gnu.build-id` for all ELF targets, thread into `SymbolID`/`code_id`, SBOM exports, and runtime facts; add fixtures for build-id present/absent. | Scanner Worker Guild (`src/Scanner/StellaOps.Scanner.Worker`, `docs/modules/scanner/architecture.md`) |
|
||||
| SCANNER-INITROOT-401-036 | TODO | Model `.preinit_array`/`.init_array`/`_init` and legacy ctor sections as synthetic graph roots (phase=load) including `DT_NEEDED` deps; persist roots in graph evidence. | Scanner Worker Guild (`src/Scanner/StellaOps.Scanner.Worker`, `docs/modules/scanner/architecture.md`) |
|
||||
| QA-PORACLE-401-037 | TODO | Add `tests/reachability/patch-oracles/**` fixtures (vuln vs fixed), harness to compare graphs vs `oracle.yml`, and CI job to fail when expected functions/edges are missing. | QA Guild · Scanner Worker Guild (`tests/reachability`, `docs/reachability/patch-oracles.md`) |
|
||||
|
||||
> Use `docs/reachability/DELIVERY_GUIDE.md` for architecture context, dependencies, and acceptance tests.
|
||||
|
||||
## Execution Log
|
||||
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-20 | Added tasks for purl-resolved edges, ELF build-id propagation, init-array roots, and patch-oracle QA harness; aligned docs references. | Planning |
|
||||
@@ -1,26 +0,0 @@
|
||||
# Sprint 513 - Ops & Offline · 190.H) Provenance
|
||||
|
||||
Active items only. Completed/historic work now resides in docs/implplan/archived/tasks.md (updated 2025-11-08).
|
||||
|
||||
[Ops & Offline] 190.H) Provenance
|
||||
Depends on: Sprint 100.A - Attestor, Sprint 110.A - AdvisoryAI, Sprint 120.A - AirGap, Sprint 130.A - Scanner, Sprint 140.A - Graph, Sprint 150.A - Orchestrator, Sprint 160.A - EvidenceLocker, Sprint 170.A - Notifier, Sprint 180.A - Cli
|
||||
Summary: Ops & Offline focus on Provenance).
|
||||
Task ID | State | Task description | Owners (Source)
|
||||
--- | --- | --- | ---
|
||||
PROV-OBS-53-001 | DONE (2025-11-17) | Implement DSSE/SLSA `BuildDefinition` + `BuildMetadata` models with canonical JSON serializer, Merkle digest helpers, and deterministic hashing tests. Publish sample statements for orchestrator/job/export subjects. | Provenance Guild (src/Provenance/StellaOps.Provenance.Attestation)
|
||||
PROV-OBS-53-002 | BLOCKED | Build signer abstraction (cosign/KMS/offline) with key rotation hooks, audit logging, and policy enforcement (required claims). Provide unit tests using fake signer + real cosign fixture. Dependencies: PROV-OBS-53-001. | Provenance Guild, Security Guild (src/Provenance/StellaOps.Provenance.Attestation)
|
||||
PROV-OBS-53-003 | BLOCKED | Deliver `PromotionAttestationBuilder` that materialises the `stella.ops/promotion@v1` predicate (image digest, SBOM/VEX materials, promotion metadata, Rekor proof) and feeds canonicalised payload bytes to Signer via StellaOps.Cryptography. | Provenance Guild (src/Provenance/StellaOps.Provenance.Attestation)
|
||||
PROV-OBS-54-001 | TODO | Deliver verification library that validates DSSE signatures, Merkle roots, and timeline chain-of-custody, exposing reusable CLI/service APIs. Include negative-case fixtures and offline timestamp verification. Dependencies: PROV-OBS-53-002. | Provenance Guild, Evidence Locker Guild (src/Provenance/StellaOps.Provenance.Attestation)
|
||||
PROV-OBS-54-002 | TODO | Generate .NET global tool for local verification + embed command helpers for CLI `stella forensic verify`. Provide deterministic packaging and offline kit instructions. Dependencies: PROV-OBS-54-001. | Provenance Guild, DevEx/CLI Guild (src/Provenance/StellaOps.Provenance.Attestation)
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2025-11-18 | Marked PROV-OBS-53-002 as BLOCKED (tests cannot run locally: dotnet test MSB6006). Downstream PROV-OBS-53-003 blocked on 53-002 verification. | Provenance |
|
||||
| 2025-11-18 | PROV-OBS-53-002 tests blocked locally (dotnet test MSB6006 after long dependency builds); rerun required in CI/less constrained agent. | Provenance |
|
||||
| 2025-11-17 | Started PROV-OBS-53-002: added cosign/kms/offline signer abstractions, rotating key provider, audit hooks, and unit tests; full test run pending. | Provenance |
|
||||
| 2025-11-17 | PROV-OBS-53-001 delivered: canonical BuildDefinition/BuildMetadata hashes, Merkle helpers, deterministic tests, and sample DSSE statements for orchestrator/job/export subjects. | Provenance |
|
||||
|
||||
## Decisions & Risks
|
||||
- PROV-OBS-53-002 validation blocked in local agent (dotnet test MSB6006). Needs CI/full agent rerun before marking DONE; downstream tasks 53-003/54-001 remain gated on this verification.
|
||||
- PROV-OBS-53-003 inherits block from 53-002; do not start until signer tests verified in CI.
|
||||
@@ -69,8 +69,8 @@
|
||||
| 62-002 | TODO | | SPRINT_206_devportal | DevPortal Guild | src/DevPortal/StellaOps.DevPortal.Site | 62-001 | 62-001 | DEVL0101 |
|
||||
| 63-001 | TODO | | SPRINT_206_devportal | DevPortal Guild · Platform Guild | src/DevPortal/StellaOps.DevPortal.Site | 62-002 | 62-002 | DEVL0101 |
|
||||
| 63-002 | TODO | | SPRINT_206_devportal | DevPortal Guild · SDK Generator Guild | src/DevPortal/StellaOps.DevPortal.Site | 63-001 | 63-001 | DEVL0101 |
|
||||
| 63-003 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | APIG0101 outputs | APIG0101 outputs | SDKG0101 |
|
||||
| 63-004 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | 63-003 | 63-003 | SDKG0101 |
|
||||
| 63-003 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | APIG0101 outputs | APIG0101 outputs | SDKG0101 |
|
||||
| 63-004 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | 63-003 | 63-003 | SDKG0101 |
|
||||
| 64-001 | TODO | | SPRINT_206_devportal | DevPortal Guild · Export Center Guild | src/DevPortal/StellaOps.DevPortal.Site | Export profile review | Export profile review | DEVL0101 |
|
||||
| 64-002 | TODO | | SPRINT_160_export_evidence | DevPortal Offline + AirGap Controller Guilds | docs/modules/export-center/devportal-offline.md | Wait for Mirror staffing confirmation (001_PGMI0101) | Wait for Mirror staffing confirmation (001_PGMI0101) | DEVL0102 |
|
||||
| 73-001 | DONE | 2025-11-03 | SPRINT_100_identity_signing | KMS Guild | src/__Libraries/StellaOps.Cryptography.Kms | Staffing + DSSE contract (PGMI0101, ATEL0101) | Staffing + DSSE contract (PGMI0101, ATEL0101) | KMSI0101 |
|
||||
@@ -216,17 +216,17 @@
|
||||
| API-27-008 | TODO | | SPRINT_129_policy_reasoning | Policy Registry Guild | src/Policy/StellaOps.Policy.Registry | Depends on #7 | REGISTRY-API-27-007 | PLAR0101 |
|
||||
| API-27-009 | TODO | | SPRINT_129_policy_reasoning | Policy Registry Guild | src/Policy/StellaOps.Policy.Registry | Depends on #8 | REGISTRY-API-27-008 | PLAR0101 |
|
||||
| API-27-010 | TODO | | SPRINT_129_policy_reasoning | Policy Registry Guild | src/Policy/StellaOps.Policy.Registry | Depends on #9 | REGISTRY-API-27-009 | PLAR0101 |
|
||||
| API-28-001 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Cartographer schema sign-off | Cartographer schema sign-off | GRAP0101 |
|
||||
| API-28-002 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #1 | Depends on #1 | GRAP0101 |
|
||||
| API-28-003 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #2 | Depends on #2 | GRAP0101 |
|
||||
| API-28-004 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #3 | Depends on #3 | GRAP0101 |
|
||||
| API-28-005 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #4 | Depends on #4 | GRAP0101 |
|
||||
| API-28-006 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on GRAP0101 base endpoints | Depends on GRAP0101 base endpoints | GRAP0102 |
|
||||
| API-28-007 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #1 | Depends on #1 | GRAP0102 |
|
||||
| API-28-008 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #2 | Depends on #2 | GRAP0102 |
|
||||
| API-28-009 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #3 | Depends on #3 | GRAP0102 |
|
||||
| API-28-010 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #4 | Depends on #4 | GRAP0102 |
|
||||
| API-28-011 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #5 | Depends on #5 | GRAP0102 |
|
||||
| API-28-001 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Cartographer schema sign-off | Cartographer schema sign-off | GRAP0101 |
|
||||
| API-28-002 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #1 | Depends on #1 | GRAP0101 |
|
||||
| API-28-003 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #2 | Depends on #2 | GRAP0101 |
|
||||
| API-28-004 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #3 | Depends on #3 | GRAP0101 |
|
||||
| API-28-005 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #4 | Depends on #4 | GRAP0101 |
|
||||
| API-28-006 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on GRAP0101 base endpoints | Depends on GRAP0101 base endpoints | GRAP0102 |
|
||||
| API-28-007 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #1 | Depends on #1 | GRAP0102 |
|
||||
| API-28-008 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #2 | Depends on #2 | GRAP0102 |
|
||||
| API-28-009 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #3 | Depends on #3 | GRAP0102 |
|
||||
| API-28-010 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #4 | Depends on #4 | GRAP0102 |
|
||||
| API-28-011 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #5 | Depends on #5 | GRAP0102 |
|
||||
| API-29-001 | TODO | | SPRINT_129_policy_reasoning | Vuln Explorer API Guild | src/VulnExplorer/StellaOps.VulnExplorer.Api | Governance schema (APIG0101) | Governance schema (APIG0101) | VUAP0101 |
|
||||
| API-29-002 | TODO | | SPRINT_129_policy_reasoning | Vuln Explorer API Guild | src/VulnExplorer/StellaOps.VulnExplorer.Api | Depends on #1 | VULN-API-29-001 | VUAP0101 |
|
||||
| API-29-003 | TODO | | SPRINT_129_policy_reasoning | Vuln Explorer API Guild | src/VulnExplorer/StellaOps.VulnExplorer.Api | Depends on #2 | VULN-API-29-002 | VUAP0101 |
|
||||
@@ -296,21 +296,21 @@
|
||||
| CLI-42-001 | TODO | | SPRINT_303_docs_tasks_md_iii | Docs Guild (docs) | | — | — | CLCI0101 |
|
||||
| CLI-43-002 | TODO | | SPRINT_504_ops_devops_ii | DevOps Guild, Task Runner Guild (ops/devops) | ops/devops | — | — | CLCI0101 |
|
||||
| CLI-43-003 | TODO | | SPRINT_504_ops_devops_ii | DevOps Guild, DevEx/CLI Guild (ops/devops) | ops/devops | — | — | CLCI0101 |
|
||||
| CLI-AIAI-31-001 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise summarize` command with JSON/Markdown outputs and citation display. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-002 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise explain` showing conflict narrative and structured rationale. Dependencies: CLI-AIAI-31-001. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-003 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise remediate` generating remediation plans with `--strategy` filters and file output. Dependencies: CLI-AIAI-31-002. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-004 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise batch` for summaries/conflicts/remediation with progress + multi-status responses. Dependencies: CLI-AIAI-31-003. | — | CLCI0102 |
|
||||
| CLI-AIAI-31-001 | DOING | 2025-11-22 | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise summarize` command with JSON/Markdown outputs and citation display. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-002 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise explain` showing conflict narrative and structured rationale. Dependencies: CLI-AIAI-31-001. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-003 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise remediate` generating remediation plans with `--strategy` filters and file output. Dependencies: CLI-AIAI-31-002. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-004 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise batch` for summaries/conflicts/remediation with progress + multi-status responses. Dependencies: CLI-AIAI-31-003. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-56-001 | TODO | | SPRINT_110_ingestion_evidence | Exporter Guild · AirGap Time Guild · CLI Guild | | PROGRAM-STAFF-1001 | PROGRAM-STAFF-1001 | ATMI0102 |
|
||||
| CLI-AIRGAP-56-002 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Ensure telemetry propagation under sealed mode (no remote exporters) while preserving correlation IDs; add label `AirGapped-Phase-1`. Dependencies: CLI-AIRGAP-56-001. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-57-001 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Add `stella airgap import` with diff preview, bundle scope selection (`--tenant`, `--global`), audit logging, and progress reporting. Dependencies: CLI-AIRGAP-56-002. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-57-002 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Provide `stella airgap seal. Dependencies: CLI-AIRGAP-57-001. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-58-001 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild, Evidence Locker Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella airgap export evidence` helper for portable evidence packages, including checksum manifest and verification. Dependencies: CLI-AIRGAP-57-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-73-001 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest sign` (payload selection, subject digest, key reference, output format) using official SDK transport. | — | CLCI0102 |
|
||||
| CLI-ATTEST-73-002 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest verify` with policy selection, explainability output, and JSON/table formatting. Dependencies: CLI-ATTEST-73-001. | — | CLCI0102 |
|
||||
| CLI-ATTEST-74-001 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest list` with filters (subject, type, issuer, scope) and pagination. Dependencies: CLI-ATTEST-73-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-74-002 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest fetch` to download envelopes and payloads to disk. Dependencies: CLI-ATTEST-74-001. | — | CLCI0102 |
|
||||
| CLI-ATTEST-75-001 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild, KMS Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest key create. Dependencies: CLI-ATTEST-74-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-75-002 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild | src/Cli/StellaOps.Cli | Add support for building/verifying attestation bundles in CLI. Dependencies: CLI-ATTEST-75-001. | Wait for ATEL0102 outputs | CLCI0109 |
|
||||
| CLI-AIRGAP-56-002 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Ensure telemetry propagation under sealed mode (no remote exporters) while preserving correlation IDs; add label `AirGapped-Phase-1`. Dependencies: CLI-AIRGAP-56-001. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-57-001 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Add `stella airgap import` with diff preview, bundle scope selection (`--tenant`, `--global`), audit logging, and progress reporting. Dependencies: CLI-AIRGAP-56-002. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-57-002 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Provide `stella airgap seal. Dependencies: CLI-AIRGAP-57-001. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-58-001 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild, Evidence Locker Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella airgap export evidence` helper for portable evidence packages, including checksum manifest and verification. Dependencies: CLI-AIRGAP-57-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-73-001 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest sign` (payload selection, subject digest, key reference, output format) using official SDK transport. | — | CLCI0102 |
|
||||
| CLI-ATTEST-73-002 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest verify` with policy selection, explainability output, and JSON/table formatting. Dependencies: CLI-ATTEST-73-001. | — | CLCI0102 |
|
||||
| CLI-ATTEST-74-001 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest list` with filters (subject, type, issuer, scope) and pagination. Dependencies: CLI-ATTEST-73-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-74-002 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest fetch` to download envelopes and payloads to disk. Dependencies: CLI-ATTEST-74-001. | — | CLCI0102 |
|
||||
| CLI-ATTEST-75-001 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild, KMS Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest key create. Dependencies: CLI-ATTEST-74-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-75-002 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild | src/Cli/StellaOps.Cli | Add support for building/verifying attestation bundles in CLI. Dependencies: CLI-ATTEST-75-001. | Wait for ATEL0102 outputs | CLCI0109 |
|
||||
| CLI-CORE-41-001 | TODO | | SPRINT_202_cli_ii | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement CLI core features: config precedence, profiles/contexts, auth flows, output renderer (json/yaml/table), error mapping, global flags, telemetry opt-in. | — | CLCI0103 |
|
||||
| CLI-DET-01 | TODO | | SPRINT_301_docs_tasks_md_i | Docs Guild · DevEx/CLI Guild | | CLI-SBOM-60-001; CLI-SBOM-60-002 | CLI-SBOM-60-001; CLI-SBOM-60-002 | CLCI0103 |
|
||||
| CLI-DETER-70-003 | TODO | | SPRINT_202_cli_ii | DevEx/CLI Guild, Scanner Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Provide `stella detscore run` that executes the determinism harness locally (fixed clock, seeded RNG, canonical hashes) and writes `determinism.json`, supporting CI/non-zero threshold exit codes (`docs/modules/scanner/determinism-score.md`). | — | CLCI0103 |
|
||||
@@ -473,15 +473,15 @@
|
||||
| CONSOLE-23-001..003 | TODO | | SPRINT_110_ingestion_evidence | Console Guild | src/Console/StellaOps.Console | Depends on #1 | CONCELIER-GRAPH-21-001; CONCELIER-GRAPH-21-002 | CCSL0101 |
|
||||
| CONSOLE-23-002 | TODO | | SPRINT_112_concelier_i | Console Guild | src/Console/StellaOps.Console | Needs LNM graph (CCGH0101) | Needs LNM graph (CCGH0101) | CCSL0101 |
|
||||
| CONSOLE-23-003 | TODO | | SPRINT_112_concelier_i | Console Guild | src/Console/StellaOps.Console | Depends on #3 | Depends on #3 | CCSL0101 |
|
||||
| CONSOLE-23-004 | TODO | | SPRINT_212_web_i | Console Guild | src/Web/StellaOps.Web | Requires CCPR0101 verdicts | Requires CCPR0101 verdicts | CCSL0101 |
|
||||
| CONSOLE-23-005 | TODO | | SPRINT_212_web_i | Console Guild | src/Web/StellaOps.Web | Depends on #5 | Depends on #5 | CCSL0101 |
|
||||
| CONSOLE-23-004 | TODO | | SPRINT_0212_0001_0001_web_i | Console Guild | src/Web/StellaOps.Web | Requires CCPR0101 verdicts | Requires CCPR0101 verdicts | CCSL0101 |
|
||||
| CONSOLE-23-005 | TODO | | SPRINT_0212_0001_0001_web_i | Console Guild | src/Web/StellaOps.Web | Depends on #5 | Depends on #5 | CCSL0101 |
|
||||
| CONSOLE-OBS-52-001 | TODO | | SPRINT_303_docs_tasks_md_iii | Console Ops Guild | docs/modules/ui | Needs TLTY0101 metrics | Needs TLTY0101 metrics | CCSL0101 |
|
||||
| CONSOLE-OBS-52-002 | TODO | | SPRINT_303_docs_tasks_md_iii | Console Ops Guild | docs/modules/ui | Depends on #7 | Depends on #7 | CCSL0101 |
|
||||
| CONSOLE-VEX-30-001 | TODO | 2025-11-08 | SPRINT_212_web_i | Console Guild · VEX Lens Guild | src/Web/StellaOps.Web | Provide `/console/vex/*` APIs streaming VEX statements, justification summaries, and advisory links with SSE refresh hooks. Dependencies: WEB-CONSOLE-23-001, EXCITITOR-CONSOLE-23-001. | Needs VEX Lens spec (PLVL0103) | CCSL0101 |
|
||||
| CONSOLE-VULN-29-001 | TODO | 2025-11-08 | SPRINT_212_web_i | Console Guild | src/Web/StellaOps.Web | Build `/console/vuln/*` APIs and filters surfacing tenant-scoped findings with policy/VEX badges so Docs/UI teams can document workflows. Dependencies: WEB-CONSOLE-23-001, CONCELIER-GRAPH-21-001. | Depends on CCWO0101 | CCSL0101 |
|
||||
| CONTAINERS-44-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Wait for DVCP0101 compose template | Wait for DVCP0101 compose template | COWB0101 |
|
||||
| CONTAINERS-45-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Depends on #1 | Depends on #1 | COWB0101 |
|
||||
| CONTAINERS-46-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Needs RBRE0101 hashes | Needs RBRE0101 hashes | COWB0101 |
|
||||
| CONSOLE-VEX-30-001 | TODO | 2025-11-08 | SPRINT_0212_0001_0001_web_i | Console Guild · VEX Lens Guild | src/Web/StellaOps.Web | Provide `/console/vex/*` APIs streaming VEX statements, justification summaries, and advisory links with SSE refresh hooks. Dependencies: WEB-CONSOLE-23-001, EXCITITOR-CONSOLE-23-001. | Needs VEX Lens spec (PLVL0103) | CCSL0101 |
|
||||
| CONSOLE-VULN-29-001 | TODO | 2025-11-08 | SPRINT_0212_0001_0001_web_i | Console Guild | src/Web/StellaOps.Web | Build `/console/vuln/*` APIs and filters surfacing tenant-scoped findings with policy/VEX badges so Docs/UI teams can document workflows. Dependencies: WEB-CONSOLE-23-001, CONCELIER-GRAPH-21-001. | Depends on CCWO0101 | CCSL0101 |
|
||||
| CONTAINERS-44-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Wait for DVCP0101 compose template | Wait for DVCP0101 compose template | COWB0101 |
|
||||
| CONTAINERS-45-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Depends on #1 | Depends on #1 | COWB0101 |
|
||||
| CONTAINERS-46-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Needs RBRE0101 hashes | Needs RBRE0101 hashes | COWB0101 |
|
||||
| CONTRIB-62-001 | TODO | | SPRINT_303_docs_tasks_md_iii | Docs Guild · API Governance Guild | docs/api | Wait for CCWO0101 spec finalization | Wait for CCWO0101 spec finalization | APID0101 |
|
||||
| CORE-185-001 | TODO | | SPRINT_185_shared_replay_primitives | Platform Guild | `src/__Libraries/StellaOps.Replay.Core` | Wait for SGSI0101 feed | Wait for SGSI0101 feed | RLRC0101 |
|
||||
| CORE-185-002 | TODO | | SPRINT_185_shared_replay_primitives | Platform Guild | src/__Libraries/StellaOps.Replay.Core | Depends on #1 | Depends on #1 | RLRC0101 |
|
||||
@@ -913,8 +913,8 @@
|
||||
| ENGINE-OPS-0001 | TODO | | SPRINT_325_docs_modules_policy | Ops Guild (docs/modules/policy) | docs/modules/policy | Operations runbook (deploy/rollback) pointer. | — | DOPE0107 |
|
||||
| ENTROPY-186-011 | TODO | | SPRINT_186_record_deterministic_execution | Scanner Guild · Provenance Guild | `src/Scanner/StellaOps.Scanner.Worker`, `src/Scanner/__Libraries` | SCANNER-ENTRYTRACE-18-508 | SCANNER-ENTRYTRACE-18-508 | SCDE0101 |
|
||||
| ENTROPY-186-012 | TODO | | SPRINT_186_record_deterministic_execution | Scanner Guild · Provenance Guild | `src/Scanner/StellaOps.Scanner.WebService`, `docs/replay/DETERMINISTIC_REPLAY.md` | ENTROPY-186-011 | ENTROPY-186-011 | SCDE0102 |
|
||||
| ENTROPY-40-001 | TODO | | SPRINT_209_ui_i | UI Guild | src/UI/StellaOps.UI | ENTROPY-186-011 | ENTROPY-186-011 | UIDO0101 |
|
||||
| ENTROPY-40-002 | TODO | | SPRINT_209_ui_i | UI Guild · Policy Guild | src/UI/StellaOps.UI | ENTROPY-40-001 & ENTROPY-186-012 | ENTROPY-40-001 | UIDO0101 |
|
||||
| ENTROPY-40-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild | src/UI/StellaOps.UI | ENTROPY-186-011 | ENTROPY-186-011 | UIDO0101 |
|
||||
| ENTROPY-40-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild · Policy Guild | src/UI/StellaOps.UI | ENTROPY-40-001 & ENTROPY-186-012 | ENTROPY-40-001 | UIDO0101 |
|
||||
| ENTROPY-70-004 | TODO | | SPRINT_304_docs_tasks_md_iv | Docs Guild · Scanner Guild | docs/modules/scanner/determinism.md | ENTROPY-186-011/012 | ENTROPY-186-011/012 | DOSC0102 |
|
||||
| ENTRYTRACE-18-502 | TODO | | SPRINT_135_scanner_surface | EntryTrace Guild · Scanner Surface Guild | src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace | SCANNER-ENTRYTRACE-18-508 | SCANNER-ENTRYTRACE-18-508 | SCET0101 |
|
||||
| ENTRYTRACE-18-503 | TODO | | SPRINT_135_scanner_surface | EntryTrace Guild · Scanner Surface Guild | src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace | ENTRYTRACE-18-502 | ENTRYTRACE-18-502 | SCET0101 |
|
||||
@@ -932,26 +932,26 @@
|
||||
| EVID-REPLAY-187-001 | TODO | | SPRINT_160_export_evidence | Evidence Locker Guild · docs/modules/evidence-locker/architecture.md | docs/modules/evidence-locker/architecture.md | Evidence Locker Guild · docs/modules/evidence-locker/architecture.md | EVID-CRYPTO-90-001 | EVEC0101 |
|
||||
| EXC-25-001 | TODO | | SPRINT_202_cli_ii | DevEx/CLI Guild (`src/Cli/StellaOps.Cli`) | src/Cli/StellaOps.Cli | DOOR0102 APIs | DOOR0102 APIs | CLEX0101 |
|
||||
| EXC-25-002 | TODO | | SPRINT_202_cli_ii | DevEx/CLI Guild (`src/Cli/StellaOps.Cli`) | src/Cli/StellaOps.Cli | EXC-25-001 | EXC-25-001 | CLEX0101 |
|
||||
| EXC-25-003 | TODO | | SPRINT_209_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | DOOR0102 APIs | DOOR0102 APIs | UIEX0101 |
|
||||
| EXC-25-004 | TODO | | SPRINT_209_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | EXC-25-003 | EXC-25-003 | UIEX0101 |
|
||||
| EXC-25-005 | TODO | | SPRINT_209_ui_i | UI + Accessibility Guilds (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | EXC-25-003 | EXC-25-003 | UIEX0101 |
|
||||
| EXC-25-003 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | DOOR0102 APIs | DOOR0102 APIs | UIEX0101 |
|
||||
| EXC-25-004 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | EXC-25-003 | EXC-25-003 | UIEX0101 |
|
||||
| EXC-25-005 | TODO | | SPRINT_0209_0001_0001_ui_i | UI + Accessibility Guilds (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | EXC-25-003 | EXC-25-003 | UIEX0101 |
|
||||
| EXC-25-006 | TODO | | SPRINT_303_docs_tasks_md_iii | Docs Guild · DevEx Guild | docs/modules/excititor | CLEX0101 CLI updates | CLEX0101 CLI updates | DOEX0101 |
|
||||
| EXC-25-007 | TODO | | SPRINT_304_docs_tasks_md_iv | Docs Guild · DevOps Guild | docs/modules/excititor | UIEX0101 console outputs | UIEX0101 console outputs | DOEX0101 |
|
||||
| EXCITITOR-AIAI-31-001 | DONE | 2025-11-09 | SPRINT_110_ingestion_evidence | Excititor Web/Core Guilds | | Normalised VEX justification projections shipped. | | EXWK0101 |
|
||||
| EXCITITOR-AIAI-31-002 | TODO | | SPRINT_110_ingestion_evidence | Excititor Web/Core Guilds | | Chunk API waiting on schema + ingest agreements. | CONCELIER-GRAPH-21-001; CONCELIER-GRAPH-21-002; ELOCKER-CONTRACT-2001 | EXAI0101 |
|
||||
| EXCITITOR-AIAI-31-003 | TODO | | SPRINT_110_ingestion_evidence | Excititor Observability Guild | | Telemetry/guardrail metrics follow chunk API. | EXCITITOR-AIAI-31-002 | EXAI0101 |
|
||||
| EXCITITOR-AIAI-31-004 | TODO | | SPRINT_110_ingestion_evidence | Docs Guild · Excititor Guild | | Docs/OpenAPI alignment queued behind chunk API finalisation. | EXCITITOR-AIAI-31-002 | EXAI0101 |
|
||||
| EXCITITOR-AIAI-31-001 | DONE | 2025-11-12 | SPRINT_0119_0001_0001_excititor_i | Excititor Web/Core Guilds | src/Excititor/StellaOps.Excititor.WebService | Normalised VEX justification projections shipped. | | EXWK0101 |
|
||||
| EXCITITOR-AIAI-31-002 | DONE | 2025-11-17 | SPRINT_0119_0001_0001_excititor_i | Excititor Web/Core Guilds | src/Excititor/StellaOps.Excititor.WebService | Chunk API streaming raw statements + signature metadata with tenant/policy filters. | CONCELIER-GRAPH-21-001; CONCELIER-GRAPH-21-002; ELOCKER-CONTRACT-2001 | EXAI0101 |
|
||||
| EXCITITOR-AIAI-31-003 | DONE | 2025-11-17 | SPRINT_0119_0001_0001_excititor_i | Excititor Observability Guild | src/Excititor/StellaOps.Excititor.WebService | Telemetry/guardrail metrics (counters, chunk histograms, signature failure + AOC guard meters); traces pending span sink. | EXCITITOR-AIAI-31-002 | EXAI0101 |
|
||||
| EXCITITOR-AIAI-31-004 | DONE | 2025-11-18 | SPRINT_0119_0001_0001_excititor_i | Docs Guild · Excititor Guild | docs/modules/excititor/evidence-contract.md | Advisory-AI evidence contract + determinism guarantees and storage mapping. | EXCITITOR-AIAI-31-002 | EXAI0101 |
|
||||
| EXCITITOR-AIRGAP-56 | TODO | | SPRINT_110_ingestion_evidence | Excititor Guild · AirGap Guilds | | Air-gap + connector parity depend on schema + attestation readiness. | CONCELIER-GRAPH-21-001; CONCELIER-GRAPH-21-002; ATTEST-PLAN-2001 | EXAG0101 |
|
||||
| EXCITITOR-AIRGAP-56-001 | DOING (2025-11-22) | | SPRINT_0119_0001_0001_excititor_i | Excititor Core Guild (`src/Excititor/__Libraries/StellaOps.Excititor.Core`) | src/Excititor/__Libraries/StellaOps.Excititor.Core | Wire mirror bundle ingestion paths that preserve upstream digests, bundle IDs, and provenance metadata exactly so offline Advisory-AI/Lens deployments can replay evidence with AOC parity. | EXCITITOR-AIRGAP-56 | EXAG0101 |
|
||||
| EXCITITOR-AIRGAP-57 | TODO | | SPRINT_110_ingestion_evidence | Excititor Guild · AirGap Guilds | | Same as -56 plus Evidence Locker | CONCELIER-GRAPH-21-001; CONCELIER-GRAPH-21-002; ATTEST-PLAN-2001 | EXAG0101 |
|
||||
| EXCITITOR-AIRGAP-57-001 | TODO | | SPRINT_0119_0001_0001_excititor_i | Excititor AirGap Policy Guild (`src/Excititor/__Libraries/StellaOps.Excititor.Core`) | src/Excititor/__Libraries/StellaOps.Excititor.Core | Enforce sealed-mode policies that disable external connectors, emit actionable remediation errors, and record staleness annotations that Advisory AI can surface as “evidence freshness” signals. Depends on EXCITITOR-AIRGAP-56-001. | EXCITITOR-AIRGAP-57 | EXAG0101 |
|
||||
| EXCITITOR-AIRGAP-58 | TODO | | SPRINT_110_ingestion_evidence | Excititor Guild · AirGap Guilds | | Same upstream | CONCELIER-GRAPH-21-001; CONCELIER-GRAPH-21-002; ATTEST-PLAN-2001 | EXAG0101 |
|
||||
| EXCITITOR-AIRGAP-58-001 | TODO | | SPRINT_0119_0001_0001_excititor_i | Excititor Core + Evidence Locker Guilds | src/Excititor/__Libraries/StellaOps.Excititor.Core | Package tenant-scoped VEX evidence (raw JSON, normalization diff, provenance) into portable bundles tied to timeline events so Advisory AI can hydrate contexts in sealed environments. Depends on EXCITITOR-AIRGAP-57-001. | EXCITITOR-AIRGAP-58 | EXAG0101 |
|
||||
| EXCITITOR-ATTEST-01-003 | TODO | | SPRINT_110_ingestion_evidence | Excititor Guild | | Attestation payload ordering awaiting sequencing session. | EXCITITOR-AIAI-31-002; ELOCKER-CONTRACT-2001 | EXAT0101 |
|
||||
| EXCITITOR-ATTEST-73-001 | TODO | | SPRINT_0119_0001_0001_excititor_i | Excititor Guild | src/Excititor/__Libraries/StellaOps.Excititor.Core | Emit attestation payloads that capture supplier identity, justification summary, and scope metadata so downstream Lens/Policy jobs can chain trust without Excititor interpreting the evidence. Depends on EXCITITOR-ATTEST-01-003. | EXCITITOR-ATTEST-01-003 | EXAT0101 |
|
||||
| EXCITITOR-ATTEST-73-002 | TODO | | SPRINT_0119_0001_0001_excititor_i | Excititor Guild | src/Excititor/__Libraries/StellaOps.Excititor.Core | Provide APIs that link attestation IDs back to observation/linkset/product tuples, enabling Advisory AI to cite provenance without any derived verdict. Depends on EXCITITOR-ATTEST-73-001. | EXCITITOR-ATTEST-73-001 | EXAT0101 |
|
||||
| EXCITITOR-ATTEST-01-003 | DONE | 2025-11-17 | SPRINT_0119_0001_0001_excititor_i | Excititor Guild | src/Excititor/__Libraries/StellaOps.Excititor.Core | Attestation verifier harness + diagnostics prove DSSE bundle verification without consensus logic. | EXCITITOR-AIAI-31-002; ELOCKER-CONTRACT-2001 | EXAT0101 |
|
||||
| EXCITITOR-ATTEST-73-001 | DONE | 2025-11-17 | SPRINT_0119_0001_0001_excititor_i | Excititor Guild | src/Excititor/__Libraries/StellaOps.Excititor.Core | Attestation payloads emitted with supplier identity, justification summary, and scope metadata for trust chaining. | EXCITITOR-ATTEST-01-003 | EXAT0101 |
|
||||
| EXCITITOR-ATTEST-73-002 | DONE | 2025-11-17 | SPRINT_0119_0001_0001_excititor_i | Excititor Guild | src/Excititor/__Libraries/StellaOps.Excititor.Core | APIs link attestation IDs back to observation/linkset/product tuples for provenance citations without derived verdicts. | EXCITITOR-ATTEST-73-001 | EXAT0101 |
|
||||
| EXCITITOR-CONN-SUSE-01-003 | TODO | | SPRINT_120_excititor_ii | Excititor Guild (SUSE connector) | src/Excititor/__Libraries/StellaOps.Excititor.Connectors.SUSE.RancherVEXHub | DONE (2025-11-09) – Emit provider trust configuration (signer fingerprints, trust tier notes) into the raw provenance envelope so downstream VEX Lens/Policy components can weigh issuers. Connector must not apply weighting or consensus inside ingestion. | EXCITITOR-CONN-SUSE-01-002; EXCITITOR-POLICY-01-001 | EXCN0101 |
|
||||
| EXCITITOR-CONN-TRUST-01-001 | TODO | | SPRINT_110_ingestion_evidence | Excititor Guild · AirGap Guilds | | ATTEST-PLAN-2001 | CONCELIER-GRAPH-21-001; CONCELIER-GRAPH-21-002; ATTEST-PLAN-2001 | EXCN0101 |
|
||||
| EXCITITOR-CONN-TRUST-01-001 | DONE | 2025-11-20 | SPRINT_0119_0001_0001_excititor_i | Excititor Guild · AirGap Guilds | src/Excititor/__Libraries/StellaOps.Excititor.Connectors* | Signer metadata loader/enricher wired for MSRC/Oracle/Ubuntu/OpenVEX connectors; env `STELLAOPS_CONNECTOR_SIGNER_METADATA_PATH`; docs + sample hash shipped. | CONCELIER-GRAPH-21-001; CONCELIER-GRAPH-21-002; ATTEST-PLAN-2001 | EXCN0101 |
|
||||
| EXCITITOR-CONN-UBUNTU-01-003 | TODO | | SPRINT_120_excititor_ii | Excititor Guild (Ubuntu connector) | src/Excititor/__Libraries/StellaOps.Excititor.Connectors.Ubuntu.CSAF | DONE (2025-11-09) – Emit Ubuntu signing metadata (GPG fingerprints, issuer trust tier) inside raw provenance artifacts so downstream Policy/VEX Lens consumers can weigh issuers. Connector must remain aggregation-only with no inline weighting. | EXCITITOR-CONN-UBUNTU-01-002 | EXCN0101 |
|
||||
| EXCITITOR-CONSOLE-23-001 | TODO | | SPRINT_120_excititor_ii | Excititor Guild · Docs Guild | src/Excititor/StellaOps.Excititor.WebService | Expose `/console/vex` endpoints returning grouped VEX statements per advisory/component with status chips, justification metadata, precedence trace pointers, and tenant-scoped filters for Console explorer. Dependencies: EXCITITOR-LNM-21-201, EXCITITOR-LNM-21-202. | DOCN0101 | EXCO0101 |
|
||||
| EXCITITOR-CONSOLE-23-002 | TODO | | SPRINT_120_excititor_ii | Excititor Guild | src/Excititor/StellaOps.Excititor.WebService | Provide aggregated counts for VEX overrides (new, not_affected, revoked) powering Console dashboard + live status ticker; emit metrics for policy explain integration. Dependencies: EXCITITOR-CONSOLE-23-001, EXCITITOR-LNM-21-203. | EXCITITOR-CONSOLE-23-001 | EXCO0101 |
|
||||
@@ -1085,27 +1085,27 @@
|
||||
| GRAPH-21-003 | TODO | 2025-10-27 | SPRINT_213_web_ii | Scanner WebService Guild | src/Web/StellaOps.Web | GRAPH-21-001 | GRAPH-21-001 | GRSC0101 |
|
||||
| GRAPH-21-004 | TODO | 2025-10-27 | SPRINT_213_web_ii | Scanner WebService Guild | src/Web/StellaOps.Web | GRAPH-21-002 | GRAPH-21-002 | GRSC0101 |
|
||||
| GRAPH-21-005 | BLOCKED (2025-10-27) | 2025-10-27 | SPRINT_120_excititor_ii | Excititor Storage Guild | src/Excititor/__Libraries/StellaOps.Excititor.Storage.Mongo | GRAPH-21-002 | GRAPH-21-002 | GRSC0101 |
|
||||
| GRAPH-24-001 | TODO | | SPRINT_209_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | GRSC0101 outputs | GRSC0101 outputs | GRUI0101 |
|
||||
| GRAPH-24-002 | TODO | | SPRINT_209_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-001 | GRAPH-24-001 | GRUI0101 |
|
||||
| GRAPH-24-003 | TODO | | SPRINT_209_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-001 | GRAPH-24-001 | GRUI0101 |
|
||||
| GRAPH-24-004 | TODO | | SPRINT_209_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-002 | GRAPH-24-002 | GRUI0101 |
|
||||
| GRAPH-24-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | GRSC0101 outputs | GRSC0101 outputs | GRUI0101 |
|
||||
| GRAPH-24-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-001 | GRAPH-24-001 | GRUI0101 |
|
||||
| GRAPH-24-003 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-001 | GRAPH-24-001 | GRUI0101 |
|
||||
| GRAPH-24-004 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-002 | GRAPH-24-002 | GRUI0101 |
|
||||
| GRAPH-24-005 | TODO | | SPRINT_304_docs_tasks_md_iv | UI Guild | | GRAPH-24-003 | GRAPH-24-003 | GRUI0101 |
|
||||
| GRAPH-24-006 | TODO | | SPRINT_209_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-004 | GRAPH-24-004 | GRUI0101 |
|
||||
| GRAPH-24-006 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-004 | GRAPH-24-004 | GRUI0101 |
|
||||
| GRAPH-24-007 | TODO | | SPRINT_304_docs_tasks_md_iv | UI Guild | | GRAPH-24-005 | GRAPH-24-005 | GRUI0101 |
|
||||
| GRAPH-24-101 | TODO | | SPRINT_113_concelier_ii | UI Guild | src/Concelier/StellaOps.Concelier.WebService | GRAPH-24-001 | GRAPH-24-001 | GRUI0101 |
|
||||
| GRAPH-24-102 | TODO | | SPRINT_120_excititor_ii | UI Guild | src/Excititor/StellaOps.Excititor.WebService | GRAPH-24-101 | GRAPH-24-101 | GRUI0101 |
|
||||
| GRAPH-28-102 | TODO | | SPRINT_113_concelier_ii | Concelier WebService Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | GRAPI0101 |
|
||||
| GRAPH-API-28-001 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Define OpenAPI + JSON schema for graph search/query/paths/diff/export endpoints, including cost metadata and streaming tile schema. | — | ORGR0101 |
|
||||
| GRAPH-API-28-002 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/search` with multi-type index lookup, prefix/exact match, RBAC enforcement, and result ranking + caching. Dependencies: GRAPH-API-28-001. | — | ORGR0101 |
|
||||
| GRAPH-API-28-003 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Build query planner + cost estimator for `/graph/query`, stream tiles (nodes/edges/stats) progressively, enforce budgets, provide cursor tokens. Dependencies: GRAPH-API-28-002. | — | ORGR0101 |
|
||||
| GRAPH-API-28-004 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/paths` with depth ≤6, constraint filters, heuristic shortest path search, and optional policy overlay rendering. Dependencies: GRAPH-API-28-003. | — | ORGR0101 |
|
||||
| GRAPH-API-28-005 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/diff` streaming added/removed/changed nodes/edges between SBOM snapshots; include overlay deltas and policy/VEX/advisory metadata. Dependencies: GRAPH-API-28-004. | — | ORGR0101 |
|
||||
| GRAPH-API-28-006 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Consume Policy Engine overlay contract (`POLICY-ENGINE-30-001..003`) and surface advisory/VEX/policy overlays with caching, partial materialization, and explain trace sampling for focused nodes. Dependencies: GRAPH-API-28-005. | — | ORGR0101 |
|
||||
| GRAPH-API-28-007 | TODO | | SPRINT_207_graph | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | src/Graph/StellaOps.Graph.Api | Implement exports (`graphml`, `csv`, `ndjson`, `png`, `svg`) with async job management, checksum manifests, and streaming downloads. Dependencies: GRAPH-API-28-006. | ORGR0101 outputs | GRAPI0101 |
|
||||
| GRAPH-API-28-008 | TODO | | SPRINT_207_graph | Graph API + Authority Guilds | src/Graph/StellaOps.Graph.Api | Integrate RBAC scopes (`graph:read`, `graph:query`, `graph:export`), tenant headers, audit logging, and rate limiting. Dependencies: GRAPH-API-28-007. | GRAPH-API-28-007 | GRAPI0101 |
|
||||
| GRAPH-API-28-009 | TODO | | SPRINT_207_graph | Graph API + Observability Guilds | src/Graph/StellaOps.Graph.Api | Instrument metrics (`graph_tile_latency_seconds`, `graph_query_budget_denied_total`, `graph_overlay_cache_hit_ratio`), structured logs, and traces per query stage; publish dashboards. Dependencies: GRAPH-API-28-008. | GRAPH-API-28-007 | GRAPI0101 |
|
||||
| GRAPH-API-28-010 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Build unit/integration/load tests with synthetic datasets (500k nodes/2M edges), fuzz query validation, verify determinism across runs. Dependencies: GRAPH-API-28-009. | GRAPH-API-28-008 | GRAPI0101 |
|
||||
| GRAPH-API-28-011 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Provide deployment manifests, offline kit support, API gateway integration docs, and smoke tests. Dependencies: GRAPH-API-28-010. | GRAPH-API-28-009 | GRAPI0101 |
|
||||
| GRAPH-API-28-001 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Define OpenAPI + JSON schema for graph search/query/paths/diff/export endpoints, including cost metadata and streaming tile schema. | — | ORGR0101 |
|
||||
| GRAPH-API-28-002 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/search` with multi-type index lookup, prefix/exact match, RBAC enforcement, and result ranking + caching. Dependencies: GRAPH-API-28-001. | — | ORGR0101 |
|
||||
| GRAPH-API-28-003 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Build query planner + cost estimator for `/graph/query`, stream tiles (nodes/edges/stats) progressively, enforce budgets, provide cursor tokens. Dependencies: GRAPH-API-28-002. | — | ORGR0101 |
|
||||
| GRAPH-API-28-004 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/paths` with depth ≤6, constraint filters, heuristic shortest path search, and optional policy overlay rendering. Dependencies: GRAPH-API-28-003. | — | ORGR0101 |
|
||||
| GRAPH-API-28-005 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/diff` streaming added/removed/changed nodes/edges between SBOM snapshots; include overlay deltas and policy/VEX/advisory metadata. Dependencies: GRAPH-API-28-004. | — | ORGR0101 |
|
||||
| GRAPH-API-28-006 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Consume Policy Engine overlay contract (`POLICY-ENGINE-30-001..003`) and surface advisory/VEX/policy overlays with caching, partial materialization, and explain trace sampling for focused nodes. Dependencies: GRAPH-API-28-005. | — | ORGR0101 |
|
||||
| GRAPH-API-28-007 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | src/Graph/StellaOps.Graph.Api | Implement exports (`graphml`, `csv`, `ndjson`, `png`, `svg`) with async job management, checksum manifests, and streaming downloads. Dependencies: GRAPH-API-28-006. | ORGR0101 outputs | GRAPI0101 |
|
||||
| GRAPH-API-28-008 | TODO | | SPRINT_0207_0001_0001_graph | Graph API + Authority Guilds | src/Graph/StellaOps.Graph.Api | Integrate RBAC scopes (`graph:read`, `graph:query`, `graph:export`), tenant headers, audit logging, and rate limiting. Dependencies: GRAPH-API-28-007. | GRAPH-API-28-007 | GRAPI0101 |
|
||||
| GRAPH-API-28-009 | TODO | | SPRINT_0207_0001_0001_graph | Graph API + Observability Guilds | src/Graph/StellaOps.Graph.Api | Instrument metrics (`graph_tile_latency_seconds`, `graph_query_budget_denied_total`, `graph_overlay_cache_hit_ratio`), structured logs, and traces per query stage; publish dashboards. Dependencies: GRAPH-API-28-008. | GRAPH-API-28-007 | GRAPI0101 |
|
||||
| GRAPH-API-28-010 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Build unit/integration/load tests with synthetic datasets (500k nodes/2M edges), fuzz query validation, verify determinism across runs. Dependencies: GRAPH-API-28-009. | GRAPH-API-28-008 | GRAPI0101 |
|
||||
| GRAPH-API-28-011 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Provide deployment manifests, offline kit support, API gateway integration docs, and smoke tests. Dependencies: GRAPH-API-28-010. | GRAPH-API-28-009 | GRAPI0101 |
|
||||
| GRAPH-CAS-401-001 | TODO | | SPRINT_401_reachability_evidence_chain | Scanner Worker Guild | `src/Scanner/StellaOps.Scanner.Worker` | Finalize richgraph schema (`richgraph-v1`), emit canonical SymbolIDs, compute graph hash (BLAKE3), and store CAS manifests under `cas://reachability/graphs/{sha256}`. Update Scanner Worker adapters + fixtures. | Depends on #1 | CASC0101 |
|
||||
| GRAPH-DOCS-0001 | DONE (2025-11-05) | 2025-11-05 | SPRINT_321_docs_modules_graph | Docs Guild | docs/modules/graph | Validate that graph module README/diagrams reflect the latest overlay + snapshot updates. | GRAPI0101 evidence | GRDG0101 |
|
||||
| GRAPH-DOCS-0002 | TODO | 2025-11-05 | SPRINT_321_docs_modules_graph | Docs Guild | docs/modules/graph | Pending DOCS-GRAPH-24-003 to add API/query doc cross-links | GRAPI0101 outputs | GRDG0101 |
|
||||
@@ -1114,7 +1114,7 @@
|
||||
| GRAPH-INDEX-28-008 | TODO | | SPRINT_0140_0001_0001_runtime_signals | — | | Incremental update/backfill pipeline depends on 28-007 artifacts; retry/backoff plumbing sketched but blocked. | — | ORGR0101 |
|
||||
| GRAPH-INDEX-28-009 | TODO | | SPRINT_0140_0001_0001_runtime_signals | — | | Test/fixture/chaos coverage waits on earlier jobs to exist so determinism checks have data. | — | ORGR0101 |
|
||||
| GRAPH-INDEX-28-010 | TODO | | SPRINT_0140_0001_0001_runtime_signals | — | | Packaging/offline bundles paused until upstream graph jobs are available to embed. | — | ORGR0101 |
|
||||
| GRAPH-INDEX-28-011 | TODO | 2025-11-04 | SPRINT_207_graph | Graph Index Guild | src/Graph/StellaOps.Graph.Indexer | Wire SBOM ingest runtime to emit graph snapshot artifacts, add DI factory helpers, and document Mongo/snapshot environment guidance. Dependencies: GRAPH-INDEX-28-002..006. | GRSC0101 outputs | GRIX0101 |
|
||||
| GRAPH-INDEX-28-011 | TODO | 2025-11-04 | SPRINT_0207_0001_0001_graph | Graph Index Guild | src/Graph/StellaOps.Graph.Indexer | Wire SBOM ingest runtime to emit graph snapshot artifacts, add DI factory helpers, and document Mongo/snapshot environment guidance. Dependencies: GRAPH-INDEX-28-002..006. | GRSC0101 outputs | GRIX0101 |
|
||||
| GRAPH-OPS-0001 | TODO | | SPRINT_321_docs_modules_graph | Ops Guild | docs/modules/graph | Review graph observability dashboards/runbooks after the next sprint demo. | GRUI0101 | GRDG0101 |
|
||||
| HELM-45-001 | TODO | | SPRINT_501_ops_deployment_i | Deployment Guild (ops/deployment) | ops/deployment | | | GRIX0101 |
|
||||
| HELM-45-002 | TODO | | SPRINT_502_ops_deployment_ii | Deployment Guild, Security Guild (ops/deployment) | ops/deployment | Add TLS/Ingress, NetworkPolicy, PodSecurityContexts, Secrets integration (external secrets), and document security posture. Dependencies: HELM-45-001. | | GRIX0101 |
|
||||
@@ -1132,7 +1132,7 @@
|
||||
| INDEX-28-008 | TODO | | SPRINT_0140_0001_0001_runtime_signals | Graph Index Guild | src/Graph/StellaOps.Graph.Indexer | INDEX-28-007 | INDEX-28-007 | GRIX0101 |
|
||||
| INDEX-28-009 | TODO | | SPRINT_0140_0001_0001_runtime_signals | Graph Index Guild | src/Graph/StellaOps.Graph.Indexer | INDEX-28-008 | INDEX-28-008 | GRIX0101 |
|
||||
| INDEX-28-010 | TODO | | SPRINT_0140_0001_0001_runtime_signals | Graph Indexer Guild (src/Graph/StellaOps.Graph.Indexer) | src/Graph/StellaOps.Graph.Indexer | | INDEX-28-009 | GRIX0101 |
|
||||
| INDEX-28-011 | DONE | 2025-11-04 | SPRINT_207_graph | Graph Indexer Guild (src/Graph/StellaOps.Graph.Indexer) | src/Graph/StellaOps.Graph.Indexer | | INDEX-28-010 | GRIX0101 |
|
||||
| INDEX-28-011 | DONE | 2025-11-04 | SPRINT_0207_0001_0001_graph | Graph Indexer Guild (src/Graph/StellaOps.Graph.Indexer) | src/Graph/StellaOps.Graph.Indexer | | INDEX-28-010 | GRIX0101 |
|
||||
| INDEX-401-030 | TODO | | SPRINT_401_reachability_evidence_chain | Platform + Ops Guilds | `docs/provenance/inline-dsse.md`, `ops/mongo/indices/events_provenance_indices.js` | Needs Ops approval for new Mongo index | Needs Ops approval for new Mongo index | RBRE0101 |
|
||||
| INGEST-401-013 | TODO | | SPRINT_401_reachability_evidence_chain | Symbols Guild · DevOps Guild (`src/Symbols/StellaOps.Symbols.Ingestor.Cli`) | `src/Symbols/StellaOps.Symbols.Ingestor.Cli`, `docs/specs/SYMBOL_MANIFEST_v1.md` | Implement deterministic ingest + docs. | RBRE0101 inline DSSE | IMPT0101 |
|
||||
| INLINE-401-028 | DONE | | SPRINT_401_reachability_evidence_chain | Authority Guild · Feedser Guild (`docs/provenance/inline-dsse.md`, `src/__Libraries/StellaOps.Provenance.Mongo`) | `docs/provenance/inline-dsse.md`, `src/__Libraries/StellaOps.Provenance.Mongo` | | | INST0101 |
|
||||
@@ -1391,7 +1391,7 @@
|
||||
| POLICY-ATTEST-74-002 | TODO | | SPRINT_123_policy_reasoning | Policy Guild, Console Guild / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Surface policy evaluations in Console verification reports with rule explanations | POLICY-ATTEST-74-001 | |
|
||||
| POLICY-CONSOLE-23-001 | TODO | | SPRINT_123_policy_reasoning | Policy Guild, BE-Base Platform Guild / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Optimize findings/explain APIs for Console: cursor-based pagination at scale, global filter parameters (severity bands, policy version, time window), rule trace summarization, and aggregation hints for dashboard cards. Ensure deterministic ordering and expose provenance refs | | |
|
||||
| POLICY-CONSOLE-23-002 | TODO | | SPRINT_124_policy_reasoning | Policy Guild, Product Ops / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Produce simulation diff metadata | POLICY-CONSOLE-23-001 | |
|
||||
| POLICY-DET-01 | TODO | | SPRINT_209_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | | | |
|
||||
| POLICY-DET-01 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | | | |
|
||||
| POLICY-ENGINE-20-002 | BLOCKED | 2025-10-26 | SPRINT_124_policy_reasoning | Policy Guild / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Build deterministic evaluator honoring lexical/priority order, first-match semantics, and safe value types (no wall-clock/network access) | PGMI0101 | PLPE0101 |
|
||||
| POLICY-ENGINE-20-003 | TODO | | SPRINT_124_policy_reasoning | Policy Guild, Concelier Core Guild, Excititor Core Guild / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Implement selection joiners resolving SBOM↔advisory↔VEX tuples using linksets and PURL equivalence tables, with deterministic batching | POLICY-ENGINE-20-002 | PLPE0101 |
|
||||
| POLICY-ENGINE-20-004 | TODO | | SPRINT_124_policy_reasoning | Policy Guild, Platform Storage Guild / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Ship materialization writer that upserts into `effective_finding_{policyId}` with append-only history, tenant scoping, and trace references | POLICY-ENGINE-20-003 | PLPE0101 |
|
||||
@@ -1578,7 +1578,7 @@
|
||||
| SBOM-AIAI-31-003 | BLOCKED | 2025-11-18 | SPRINT_0111_0001_0001_advisoryai | SBOM Service Guild · Advisory AI Guild (src/SbomService/StellaOps.SbomService) | src/SbomService/StellaOps.SbomService | Publish the Advisory AI hand-off kit for `/v1/sbom/context`, share base URL/API key + tenant header contract, and run a joint end-to-end retrieval smoke test with Advisory AI. | SBOM-AIAI-31-001 projection kit/fixtures | ADAI0101 |
|
||||
| SBOM-CONSOLE-23-001 | TODO | | SPRINT_0140_0001_0001_runtime_signals | | | Console catalog API draft complete; depends on Concelier/Cartographer payload definitions. | | |
|
||||
| SBOM-CONSOLE-23-002 | TODO | | SPRINT_0140_0001_0001_runtime_signals | | | Global component lookup API needs 23-001 responses + cache hints before work can start. | | |
|
||||
| SBOM-DET-01 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | | | |
|
||||
| SBOM-DET-01 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | | | |
|
||||
| SBOM-ORCH-32-001 | TODO | | SPRINT_0140_0001_0001_runtime_signals | | | Orchestrator registration is sequenced after projection schema because payload shapes map into job metadata. | | |
|
||||
| SBOM-ORCH-33-001 | TODO | | SPRINT_0140_0001_0001_runtime_signals | | | Backpressure/telemetry features depend on 32-001 workers. | | |
|
||||
| SBOM-ORCH-34-001 | TODO | | SPRINT_0140_0001_0001_runtime_signals | | | Backfill + watermark logic requires the orchestrator integration from 33-001. | | |
|
||||
@@ -1770,18 +1770,18 @@
|
||||
| SDK-62-002 | TODO | | SPRINT_204_cli_iv | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| SDK-63-001 | TODO | | SPRINT_204_cli_iv | DevEx/CLI Guild, API Governance Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| SDK-64-001 | TODO | | SPRINT_204_cli_iv | DevEx/CLI Guild, SDK Release Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| SDKGEN-62-001 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Choose/pin generator toolchain, set up language template pipeline, and enforce reproducible builds. | DEVL0101 portal contracts | SDKG0101 |
|
||||
| SDKGEN-62-002 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Implement shared post-processing (auth helpers, retries, pagination utilities, telemetry hooks) applied to all languages. Dependencies: SDKGEN-62-001. | SDKGEN-62-001 | SDKG0101 |
|
||||
| SDKGEN-63-001 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship TypeScript SDK alpha with ESM/CJS builds, typed errors, paginator, streaming helpers. Dependencies: SDKGEN-62-002. | 63-004 | SDKG0101 |
|
||||
| SDKGEN-63-002 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Python SDK alpha (sync/async clients, type hints, upload/download helpers). Dependencies: SDKGEN-63-001. | SDKGEN-63-001 | SDKG0101 |
|
||||
| SDKGEN-63-003 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Go SDK alpha with context-first API and streaming helpers. Dependencies: SDKGEN-63-002. | SDKGEN-63-002 | SDKG0101 |
|
||||
| SDKGEN-63-004 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Java SDK alpha (builder pattern, HTTP client abstraction). Dependencies: SDKGEN-63-003. | SDKGEN-63-003 | SDKG0101 |
|
||||
| SDKGEN-64-001 | TODO | | SPRINT_208_sdk | SDK Generator Guild · CLI Guild | src/Sdk/StellaOps.Sdk.Generator | Switch CLI to consume TS or Go SDK; ensure parity. Dependencies: SDKGEN-63-004. | SDKGEN-63-004 | SDKG0101 |
|
||||
| SDKGEN-64-002 | TODO | | SPRINT_208_sdk | SDK Generator Guild · Console Guild | src/Sdk/StellaOps.Sdk.Generator | Integrate SDKs into Console data providers where feasible. Dependencies: SDKGEN-64-001. | SDKGEN-64-001 | SDKG0101 |
|
||||
| SDKREL-63-001 | TODO | | SPRINT_208_sdk | SDK Release Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Configure CI pipelines for npm, PyPI, Maven Central staging, and Go proxies with signing and provenance attestations. | | |
|
||||
| SDKREL-63-002 | TODO | | SPRINT_208_sdk | SDK Release Guild, API Governance Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Integrate changelog automation pulling from OAS diffs and generator metadata. Dependencies: SDKREL-63-001. | | |
|
||||
| SDKREL-64-001 | TODO | | SPRINT_208_sdk | SDK Release Guild, Notifications Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Hook SDK releases into Notifications Studio with scoped announcements and RSS/Atom feeds. Dependencies: SDKREL-63-002. | | |
|
||||
| SDKREL-64-002 | TODO | | SPRINT_208_sdk | SDK Release Guild, Export Center Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Add `devportal --offline` bundle job packaging docs, specs, SDK artifacts for air-gapped users. Dependencies: SDKREL-64-001. | | |
|
||||
| SDKGEN-62-001 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Choose/pin generator toolchain, set up language template pipeline, and enforce reproducible builds. | DEVL0101 portal contracts | SDKG0101 |
|
||||
| SDKGEN-62-002 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Implement shared post-processing (auth helpers, retries, pagination utilities, telemetry hooks) applied to all languages. Dependencies: SDKGEN-62-001. | SDKGEN-62-001 | SDKG0101 |
|
||||
| SDKGEN-63-001 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship TypeScript SDK alpha with ESM/CJS builds, typed errors, paginator, streaming helpers. Dependencies: SDKGEN-62-002. | 63-004 | SDKG0101 |
|
||||
| SDKGEN-63-002 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Python SDK alpha (sync/async clients, type hints, upload/download helpers). Dependencies: SDKGEN-63-001. | SDKGEN-63-001 | SDKG0101 |
|
||||
| SDKGEN-63-003 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Go SDK alpha with context-first API and streaming helpers. Dependencies: SDKGEN-63-002. | SDKGEN-63-002 | SDKG0101 |
|
||||
| SDKGEN-63-004 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Java SDK alpha (builder pattern, HTTP client abstraction). Dependencies: SDKGEN-63-003. | SDKGEN-63-003 | SDKG0101 |
|
||||
| SDKGEN-64-001 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild · CLI Guild | src/Sdk/StellaOps.Sdk.Generator | Switch CLI to consume TS or Go SDK; ensure parity. Dependencies: SDKGEN-63-004. | SDKGEN-63-004 | SDKG0101 |
|
||||
| SDKGEN-64-002 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild · Console Guild | src/Sdk/StellaOps.Sdk.Generator | Integrate SDKs into Console data providers where feasible. Dependencies: SDKGEN-64-001. | SDKGEN-64-001 | SDKG0101 |
|
||||
| SDKREL-63-001 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Release Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Configure CI pipelines for npm, PyPI, Maven Central staging, and Go proxies with signing and provenance attestations. | | |
|
||||
| SDKREL-63-002 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Release Guild, API Governance Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Integrate changelog automation pulling from OAS diffs and generator metadata. Dependencies: SDKREL-63-001. | | |
|
||||
| SDKREL-64-001 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Release Guild, Notifications Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Hook SDK releases into Notifications Studio with scoped announcements and RSS/Atom feeds. Dependencies: SDKREL-63-002. | | |
|
||||
| SDKREL-64-002 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Release Guild, Export Center Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Add `devportal --offline` bundle job packaging docs, specs, SDK artifacts for air-gapped users. Dependencies: SDKREL-64-001. | | |
|
||||
| SEC-62-001 | TODO | | SPRINT_309_docs_tasks_md_ix | Docs Guild, Authority Core (docs) | | | | |
|
||||
| SEC-CRYPTO-90-001 | DONE | 2025-11-07 | SPRINT_514_sovereign_crypto_enablement | Security Guild (src/__Libraries/StellaOps.Cryptography) | src/__Libraries/StellaOps.Cryptography | Produce the RootPack_RU implementation plan, provider strategy (CryptoPro + PKCS#11), and backlog split for sovereign crypto work. | | |
|
||||
| SEC-CRYPTO-90-002 | DONE | 2025-11-07 | SPRINT_514_sovereign_crypto_enablement | Security Guild (src/__Libraries/StellaOps.Cryptography) | src/__Libraries/StellaOps.Cryptography | Extend signature/catalog constants and configuration schema to recognize `GOST12-256/512`, regional crypto profiles, and provider preference ordering. | | |
|
||||
@@ -1982,26 +1982,26 @@
|
||||
| TIMELINE-OBS-52-004 | TODO | | SPRINT_160_export_evidence | Timeline Indexer + Security Guilds | | Timeline Indexer + Security Guilds | | |
|
||||
| TIMELINE-OBS-53-001 | TODO | | SPRINT_160_export_evidence | Timeline Indexer + Evidence Locker Guilds | | Timeline Indexer + Evidence Locker Guilds | | |
|
||||
| UI-401-027 | TODO | | SPRINT_401_reachability_evidence_chain | UI Guild · CLI Guild (`src/UI/StellaOps.UI`, `src/Cli/StellaOps.Cli`, `docs/uncertainty/README.md`) | `src/UI/StellaOps.UI`, `src/Cli/StellaOps.Cli`, `docs/uncertainty/README.md` | | | |
|
||||
| UI-AOC-19-001 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add Sources dashboard tiles showing AOC pass/fail, recent violation codes, and ingest throughput per tenant. | | |
|
||||
| UI-AOC-19-002 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement violation drill-down view highlighting offending document fields and provenance metadata. Dependencies: UI-AOC-19-001. | | |
|
||||
| UI-AOC-19-003 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add "Verify last 24h" action triggering AOC verifier endpoint and surfacing CLI parity guidance. Dependencies: UI-AOC-19-002. | | |
|
||||
| UI-AOC-19-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add Sources dashboard tiles showing AOC pass/fail, recent violation codes, and ingest throughput per tenant. | | |
|
||||
| UI-AOC-19-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement violation drill-down view highlighting offending document fields and provenance metadata. Dependencies: UI-AOC-19-001. | | |
|
||||
| UI-AOC-19-003 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add "Verify last 24h" action triggering AOC verifier endpoint and surfacing CLI parity guidance. Dependencies: UI-AOC-19-002. | | |
|
||||
| UI-CLI-401-007 | TODO | | SPRINT_401_reachability_evidence_chain | UI & CLI Guilds (`src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI`) | `src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI` | Implement CLI `stella graph explain` + UI explain drawer showing signed call-path, predicates, runtime hits, and DSSE pointers; include counterfactual controls. | | |
|
||||
| UI-DOCS-0001 | TODO | | SPRINT_331_docs_modules_ui | Docs Guild (docs/modules/ui) | docs/modules/ui | | | |
|
||||
| UI-ENG-0001 | TODO | | SPRINT_331_docs_modules_ui | Module Team (docs/modules/ui) | docs/modules/ui | | | |
|
||||
| UI-ENTROPY-40-001 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Visualise entropy analysis per image (layer donut, file heatmaps, “Why risky?” chips) in Vulnerability Explorer and scan details, including opaque byte ratios and detector hints (see `docs/modules/scanner/entropy.md`). | | |
|
||||
| UI-ENTROPY-40-002 | TODO | | SPRINT_209_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add policy banners/tooltips explaining entropy penalties (block/warn thresholds, mitigation steps) and link to raw `entropy.report.json` evidence downloads (`docs/modules/scanner/entropy.md`). Dependencies: UI-ENTROPY-40-001. | | |
|
||||
| UI-EXC-25-001 | TODO | | SPRINT_209_ui_i | UI Guild, Governance Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Exception Center (list + kanban) with filters, sorting, workflow transitions, and audit views. | | |
|
||||
| UI-EXC-25-002 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement exception creation wizard with scope preview, justification templates, timebox guardrails. Dependencies: UI-EXC-25-001. | | |
|
||||
| UI-EXC-25-003 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add inline exception drafting/proposing from Vulnerability Explorer and Graph detail panels with live simulation. Dependencies: UI-EXC-25-002. | | |
|
||||
| UI-EXC-25-004 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Surface exception badges, countdown timers, and explain integration across Graph/Vuln Explorer and policy views. Dependencies: UI-EXC-25-003. | | |
|
||||
| UI-EXC-25-005 | TODO | | SPRINT_209_ui_i | UI Guild, Accessibility Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add keyboard shortcuts (`x`,`a`,`r`) and ensure screen-reader messaging for approvals/revocations. Dependencies: UI-EXC-25-004. | | |
|
||||
| UI-GRAPH-21-001 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Align Graph Explorer auth configuration with new `graph:*` scopes; consume scope identifiers from shared `StellaOpsScopes` exports (via generated SDK/config) instead of hard-coded strings. | | |
|
||||
| UI-GRAPH-24-001 | TODO | | SPRINT_209_ui_i | UI Guild, SBOM Service Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Graph Explorer canvas with layered/radial layouts, virtualization, zoom/pan, and scope toggles; initial render <1.5s for sample asset. Dependencies: UI-GRAPH-21-001. | | |
|
||||
| UI-GRAPH-24-002 | TODO | | SPRINT_209_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement overlays (Policy, Evidence, License, Exposure), simulation toggle, path view, and SBOM diff/time-travel with accessible tooltips/AOC indicators. Dependencies: UI-GRAPH-24-001. | | |
|
||||
| UI-GRAPH-24-003 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Deliver filters/search panel with facets, saved views, permalinks, and share modal. Dependencies: UI-GRAPH-24-002. | | |
|
||||
| UI-GRAPH-24-004 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add side panels (Details, What-if, History) with upgrade simulation integration and SBOM diff viewer. Dependencies: UI-GRAPH-24-003. | | |
|
||||
| UI-GRAPH-24-006 | TODO | | SPRINT_209_ui_i | UI Guild, Accessibility Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Ensure accessibility (keyboard nav, screen reader labels, contrast), add hotkeys (`f`,`e`,`.`), and analytics instrumentation. Dependencies: UI-GRAPH-24-004. | | |
|
||||
| UI-LNM-22-001 | TODO | | SPRINT_209_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Evidence panel showing policy decision with advisory observations/linksets side-by-side, conflict badges, AOC chain, and raw doc download links. Docs `DOCS-LNM-22-005` waiting on delivered UI for screenshots + flows. | | |
|
||||
| UI-ENTROPY-40-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Visualise entropy analysis per image (layer donut, file heatmaps, “Why risky?” chips) in Vulnerability Explorer and scan details, including opaque byte ratios and detector hints (see `docs/modules/scanner/entropy.md`). | | |
|
||||
| UI-ENTROPY-40-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add policy banners/tooltips explaining entropy penalties (block/warn thresholds, mitigation steps) and link to raw `entropy.report.json` evidence downloads (`docs/modules/scanner/entropy.md`). Dependencies: UI-ENTROPY-40-001. | | |
|
||||
| UI-EXC-25-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Governance Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Exception Center (list + kanban) with filters, sorting, workflow transitions, and audit views. | | |
|
||||
| UI-EXC-25-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement exception creation wizard with scope preview, justification templates, timebox guardrails. Dependencies: UI-EXC-25-001. | | |
|
||||
| UI-EXC-25-003 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add inline exception drafting/proposing from Vulnerability Explorer and Graph detail panels with live simulation. Dependencies: UI-EXC-25-002. | | |
|
||||
| UI-EXC-25-004 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Surface exception badges, countdown timers, and explain integration across Graph/Vuln Explorer and policy views. Dependencies: UI-EXC-25-003. | | |
|
||||
| UI-EXC-25-005 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Accessibility Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add keyboard shortcuts (`x`,`a`,`r`) and ensure screen-reader messaging for approvals/revocations. Dependencies: UI-EXC-25-004. | | |
|
||||
| UI-GRAPH-21-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Align Graph Explorer auth configuration with new `graph:*` scopes; consume scope identifiers from shared `StellaOpsScopes` exports (via generated SDK/config) instead of hard-coded strings. | | |
|
||||
| UI-GRAPH-24-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, SBOM Service Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Graph Explorer canvas with layered/radial layouts, virtualization, zoom/pan, and scope toggles; initial render <1.5s for sample asset. Dependencies: UI-GRAPH-21-001. | | |
|
||||
| UI-GRAPH-24-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement overlays (Policy, Evidence, License, Exposure), simulation toggle, path view, and SBOM diff/time-travel with accessible tooltips/AOC indicators. Dependencies: UI-GRAPH-24-001. | | |
|
||||
| UI-GRAPH-24-003 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Deliver filters/search panel with facets, saved views, permalinks, and share modal. Dependencies: UI-GRAPH-24-002. | | |
|
||||
| UI-GRAPH-24-004 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add side panels (Details, What-if, History) with upgrade simulation integration and SBOM diff viewer. Dependencies: UI-GRAPH-24-003. | | |
|
||||
| UI-GRAPH-24-006 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Accessibility Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Ensure accessibility (keyboard nav, screen reader labels, contrast), add hotkeys (`f`,`e`,`.`), and analytics instrumentation. Dependencies: UI-GRAPH-24-004. | | |
|
||||
| UI-LNM-22-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Evidence panel showing policy decision with advisory observations/linksets side-by-side, conflict badges, AOC chain, and raw doc download links. Docs `DOCS-LNM-22-005` waiting on delivered UI for screenshots + flows. | | |
|
||||
| UI-LNM-22-002 | TODO | | SPRINT_210_ui_ii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement filters (source, severity bucket, conflict-only, CVSS vector presence) and pagination/lazy loading for large linksets. Docs depend on finalized filtering UX. Dependencies: UI-LNM-22-001. | | |
|
||||
| UI-LNM-22-003 | TODO | | SPRINT_210_ui_ii | UI Guild, Excititor Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add VEX tab with status/justification summaries, conflict indicators, and export actions. Required for `DOCS-LNM-22-005` coverage of VEX evidence tab. Dependencies: UI-LNM-22-002. | | |
|
||||
| UI-LNM-22-004 | TODO | | SPRINT_210_ui_ii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Provide permalink + copy-to-clipboard for selected component/linkset/policy combination; ensure high-contrast theme support. Dependencies: UI-LNM-22-003. | | |
|
||||
@@ -2019,8 +2019,8 @@
|
||||
| UI-POLICY-23-005 | TODO | | SPRINT_210_ui_ii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Integrate simulator panel (SBOM/component/advisory selection), run diff vs active policy, show explain tree and overlays. Dependencies: UI-POLICY-23-004. | | |
|
||||
| UI-POLICY-23-006 | TODO | | SPRINT_210_ui_ii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement explain view linking to evidence overlays and exceptions; provide export to JSON/PDF. Dependencies: UI-POLICY-23-005. | | |
|
||||
| UI-POLICY-27-001 | TODO | | SPRINT_211_ui_iii | UI Guild, Product Ops (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Update Console policy workspace RBAC guards, scope requests, and user messaging to reflect the new Policy Studio roles/scopes (`policy:author/review/approve/operate/audit/simulate`), including Cypress auth stubs and help text. Dependencies: UI-POLICY-23-006. | | |
|
||||
| UI-POLICY-DET-01 | TODO | | SPRINT_209_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Wire policy gate indicators + remediation hints into Release/Policy flows, blocking publishes when determinism checks fail; coordinate with Policy Engine schema updates. Dependencies: UI-SBOM-DET-01. | | |
|
||||
| UI-SBOM-DET-01 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add a “Determinism” badge plus drill-down that surfaces fragment hashes, `_composition.json`, and Merkle root consistency when viewing scan details (per `docs/modules/scanner/deterministic-sbom-compose.md`). | | |
|
||||
| UI-POLICY-DET-01 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Wire policy gate indicators + remediation hints into Release/Policy flows, blocking publishes when determinism checks fail; coordinate with Policy Engine schema updates. Dependencies: UI-SBOM-DET-01. | | |
|
||||
| UI-SBOM-DET-01 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add a “Determinism” badge plus drill-down that surfaces fragment hashes, `_composition.json`, and Merkle root consistency when viewing scan details (per `docs/modules/scanner/deterministic-sbom-compose.md`). | | |
|
||||
| UI-SIG-26-001 | TODO | | SPRINT_211_ui_iii | UI Guild, Signals Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add reachability columns/badges to Vulnerability Explorer with filters and tooltips. | | |
|
||||
| UI-SIG-26-002 | TODO | | SPRINT_211_ui_iii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Enhance “Why” drawer with call path visualization, reachability timeline, and evidence list. Dependencies: UI-SIG-26-001. | | |
|
||||
| UI-SIG-26-003 | TODO | | SPRINT_211_ui_iii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add reachability overlay halos/time slider to SBOM Graph along with state legend. Dependencies: UI-SIG-26-002. | | |
|
||||
@@ -2036,7 +2036,7 @@
|
||||
| VAL-05 | TODO | | SPRINT_136_scanner_surface | Docs Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Validation) | src/Scanner/__Libraries/StellaOps.Scanner.Surface.Validation | | SURFACE-VAL-02 | |
|
||||
| VERIFY-186-007 | TODO | | SPRINT_186_record_deterministic_execution | Authority Guild, Provenance Guild (`src/Authority/StellaOps.Authority`, `src/Provenance/StellaOps.Provenance.Attestation`) | `src/Authority/StellaOps.Authority`, `src/Provenance/StellaOps.Provenance.Attestation` | | | |
|
||||
| VEX-006 | TODO | | SPRINT_401_reachability_evidence_chain | Policy, Excititor, UI, CLI & Notify Guilds (`docs/modules/excititor/architecture.md`, `src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI`, `docs/09_API_CLI_REFERENCE.md`) | `docs/modules/excititor/architecture.md`, `src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI`, `docs/09_API_CLI_REFERENCE.md` | | | |
|
||||
| VEX-30-001 | DOING | 2025-11-08 | SPRINT_212_web_i | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | | | |
|
||||
| VEX-30-001 | DOING | 2025-11-08 | SPRINT_0212_0001_0001_web_i | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | | | |
|
||||
| VEX-30-002 | TODO | | SPRINT_205_cli_v | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| VEX-30-003 | TODO | | SPRINT_205_cli_v | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| VEX-30-004 | TODO | | SPRINT_205_cli_v | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
@@ -2072,7 +2072,7 @@
|
||||
| VEXLENS-EXPORT-35-001 | TODO | | SPRINT_129_policy_reasoning | VEX Lens Guild | src/VexLens/StellaOps.VexLens | Provide consensus snapshot API delivering deterministic JSONL (state, confidence, provenance) for exporter mirror bundles | — | PLVL0103 |
|
||||
| VEXLENS-ORCH-33-001 | TODO | | SPRINT_129_policy_reasoning | VEX Lens Guild | src/VexLens/StellaOps.VexLens | Register `consensus_compute` job type with orchestrator, integrate worker SDK, and expose job planning hooks for consensus batches | — | PLVL0103 |
|
||||
| VEXLENS-ORCH-34-001 | TODO | | SPRINT_129_policy_reasoning | VEX Lens Guild | src/VexLens/StellaOps.VexLens | Emit consensus completion events into orchestrator run ledger and provenance chain, including confidence metadata | VEXLENS-ORCH-33-001 | PLVL0103 |
|
||||
| VULN-29-001 | DOING | 2025-11-08 | SPRINT_212_web_i | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | | | |
|
||||
| VULN-29-001 | DOING | 2025-11-08 | SPRINT_0212_0001_0001_web_i | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | | | |
|
||||
| VULN-29-002 | TODO | | SPRINT_123_excititor_v | Excititor WebService Guild (src/Excititor/StellaOps.Excititor.WebService) | src/Excititor/StellaOps.Excititor.WebService | | | |
|
||||
| VULN-29-003 | TODO | | SPRINT_205_cli_v | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| VULN-29-004 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild, Observability Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
@@ -2100,28 +2100,28 @@
|
||||
| VULNERABILITY-EXPLORER-ENG-0001 | TODO | | SPRINT_334_docs_modules_vuln_explorer | Module Team (docs/modules/vuln-explorer) | docs/modules/vuln-explorer | Keep sprint alignment notes in sync with Vuln Explorer sprints. | | |
|
||||
| VULNERABILITY-EXPLORER-OPS-0001 | TODO | | SPRINT_334_docs_modules_vuln_explorer | Ops Guild (docs/modules/vuln-explorer) | docs/modules/vuln-explorer | Review runbooks/observability assets after next demo. | | |
|
||||
| WEB-20-002 | TODO | | SPRINT_0155_0001_0001_scheduler_i | Scheduler WebService Guild (src/Scheduler/StellaOps.Scheduler.WebService) | src/Scheduler/StellaOps.Scheduler.WebService | | | |
|
||||
| WEB-AIAI-31-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Route `/advisory/ai/*` endpoints through gateway with RBAC/ABAC, rate limits, and telemetry headers. | | |
|
||||
| WEB-AIAI-31-002 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide batching job handlers and streaming responses for CLI automation with retry/backoff. Dependencies: WEB-AIAI-31-001. | | |
|
||||
| WEB-AIAI-31-003 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild, Observability Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Emit metrics/logs (latency, guardrail blocks, validation failures) and forward anonymized prompt hashes to analytics. Dependencies: WEB-AIAI-31-002. | | |
|
||||
| WEB-AIAI-31-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Route `/advisory/ai/*` endpoints through gateway with RBAC/ABAC, rate limits, and telemetry headers. | | |
|
||||
| WEB-AIAI-31-002 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide batching job handlers and streaming responses for CLI automation with retry/backoff. Dependencies: WEB-AIAI-31-001. | | |
|
||||
| WEB-AIAI-31-003 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild, Observability Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Emit metrics/logs (latency, guardrail blocks, validation failures) and forward anonymized prompt hashes to analytics. Dependencies: WEB-AIAI-31-002. | | |
|
||||
| WEB-AIRGAP-56-001 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AIRGAP-56-002 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AIRGAP-57-001 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild, AirGap Policy Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AIRGAP-58-001 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild, AirGap Importer Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AOC-19-002 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Ship `ProvenanceBuilder`, checksum utilities, and signature verification helper integrated with guard logging. Cover DSSE/CMS formats with unit tests. Dependencies: WEB-AOC-19-001. | | |
|
||||
| WEB-AOC-19-002 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Ship `ProvenanceBuilder`, checksum utilities, and signature verification helper integrated with guard logging. Cover DSSE/CMS formats with unit tests. Dependencies: WEB-AOC-19-001. | | |
|
||||
| WEB-AOC-19-003 | TODO | | SPRINT_116_concelier_v | QA Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AOC-19-004 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild, QA Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AOC-19-005 | TODO | 2025-11-08 | SPRINT_116_concelier_v | Concelier WebService Guild, QA Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AOC-19-006 | TODO | 2025-11-08 | SPRINT_116_concelier_v | Concelier WebService Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AOC-19-007 | TODO | 2025-11-08 | SPRINT_116_concelier_v | Concelier WebService Guild, QA Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-CONSOLE-23-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild, Product Analytics Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide consolidated `/console/dashboard` and `/console/filters` APIs returning tenant-scoped aggregates (findings by severity, VEX override counts, advisory deltas, run health, policy change log). Enforce AOC labelling, deterministic ordering, and cursor-based pagination for drill-down hints. | | |
|
||||
| WEB-CONSOLE-23-002 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild, Scheduler Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Expose `/console/status` polling endpoint and `/console/runs/{id}/stream` SSE/WebSocket proxy with heartbeat/backoff, queue lag metrics, and auth scope enforcement. Surface request IDs + retry headers. Dependencies: WEB-CONSOLE-23-001. | | |
|
||||
| WEB-CONSOLE-23-003 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild, Policy Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Add `/console/exports` POST/GET routes coordinating evidence bundle creation, streaming CSV/JSON exports, checksum manifest retrieval, and signed attestation references. Ensure requests honor tenant + policy scopes and expose job tracking metadata. Dependencies: WEB-CONSOLE-23-002. | | |
|
||||
| WEB-CONSOLE-23-004 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Implement `/console/search` endpoint accepting CVE/GHSA/PURL/SBOM identifiers, performing fan-out queries with caching, ranking, and deterministic tie-breaking. Return typed results for Console navigation; respect result caps and latency SLOs. Dependencies: WEB-CONSOLE-23-003. | | |
|
||||
| WEB-CONSOLE-23-005 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild, DevOps Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Serve `/console/downloads` JSON manifest (images, charts, offline bundles) sourced from signed registry metadata; include integrity hashes, release notes links, and offline instructions. Provide caching headers and documentation. Dependencies: WEB-CONSOLE-23-004. | | |
|
||||
| WEB-CONTAINERS-44-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Expose `/welcome` state, config discovery endpoint (safe values), and `QUICKSTART_MODE` handling for Console banner; add `/health/liveness`, `/health/readiness`, `/version` if missing. | | |
|
||||
| WEB-CONTAINERS-45-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Ensure readiness endpoints reflect DB/queue readiness, add feature flag toggles via config map, and document NetworkPolicy ports. Dependencies: WEB-CONTAINERS-44-001. | | |
|
||||
| WEB-CONTAINERS-46-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide offline-friendly asset serving (no CDN), allow overriding object store endpoints via env, and document fallback behavior. Dependencies: WEB-CONTAINERS-45-001. | | |
|
||||
| WEB-EXC-25-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Implement `/exceptions` API (create, propose, approve, revoke, list, history) with validation, pagination, and audit logging. | | |
|
||||
| WEB-CONSOLE-23-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild, Product Analytics Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide consolidated `/console/dashboard` and `/console/filters` APIs returning tenant-scoped aggregates (findings by severity, VEX override counts, advisory deltas, run health, policy change log). Enforce AOC labelling, deterministic ordering, and cursor-based pagination for drill-down hints. | | |
|
||||
| WEB-CONSOLE-23-002 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild, Scheduler Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Expose `/console/status` polling endpoint and `/console/runs/{id}/stream` SSE/WebSocket proxy with heartbeat/backoff, queue lag metrics, and auth scope enforcement. Surface request IDs + retry headers. Dependencies: WEB-CONSOLE-23-001. | | |
|
||||
| WEB-CONSOLE-23-003 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild, Policy Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Add `/console/exports` POST/GET routes coordinating evidence bundle creation, streaming CSV/JSON exports, checksum manifest retrieval, and signed attestation references. Ensure requests honor tenant + policy scopes and expose job tracking metadata. Dependencies: WEB-CONSOLE-23-002. | | |
|
||||
| WEB-CONSOLE-23-004 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Implement `/console/search` endpoint accepting CVE/GHSA/PURL/SBOM identifiers, performing fan-out queries with caching, ranking, and deterministic tie-breaking. Return typed results for Console navigation; respect result caps and latency SLOs. Dependencies: WEB-CONSOLE-23-003. | | |
|
||||
| WEB-CONSOLE-23-005 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild, DevOps Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Serve `/console/downloads` JSON manifest (images, charts, offline bundles) sourced from signed registry metadata; include integrity hashes, release notes links, and offline instructions. Provide caching headers and documentation. Dependencies: WEB-CONSOLE-23-004. | | |
|
||||
| WEB-CONTAINERS-44-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Expose `/welcome` state, config discovery endpoint (safe values), and `QUICKSTART_MODE` handling for Console banner; add `/health/liveness`, `/health/readiness`, `/version` if missing. | | |
|
||||
| WEB-CONTAINERS-45-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Ensure readiness endpoints reflect DB/queue readiness, add feature flag toggles via config map, and document NetworkPolicy ports. Dependencies: WEB-CONTAINERS-44-001. | | |
|
||||
| WEB-CONTAINERS-46-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide offline-friendly asset serving (no CDN), allow overriding object store endpoints via env, and document fallback behavior. Dependencies: WEB-CONTAINERS-45-001. | | |
|
||||
| WEB-EXC-25-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Implement `/exceptions` API (create, propose, approve, revoke, list, history) with validation, pagination, and audit logging. | | |
|
||||
| WEB-EXC-25-002 | TODO | | SPRINT_213_web_ii | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Extend `/policy/effective` and `/policy/simulate` responses to include exception metadata and accept overrides for simulations. Dependencies: WEB-EXC-25-001. | | |
|
||||
| WEB-EXC-25-003 | TODO | | SPRINT_213_web_ii | BE-Base Platform Guild, Platform Events Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Publish `exception.*` events, integrate with notification hooks, enforce rate limits. Dependencies: WEB-EXC-25-002. | | |
|
||||
| WEB-EXPORT-35-001 | TODO | | SPRINT_213_web_ii | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Surface Export Center APIs (profiles/runs/download) through gateway with tenant scoping, streaming support, and viewer/operator scope checks. | | |
|
||||
@@ -2289,8 +2289,8 @@
|
||||
| 62-002 | TODO | | SPRINT_206_devportal | DevPortal Guild | src/DevPortal/StellaOps.DevPortal.Site | 62-001 | 62-001 | DEVL0101 |
|
||||
| 63-001 | TODO | | SPRINT_206_devportal | DevPortal Guild · Platform Guild | src/DevPortal/StellaOps.DevPortal.Site | 62-002 | 62-002 | DEVL0101 |
|
||||
| 63-002 | TODO | | SPRINT_206_devportal | DevPortal Guild · SDK Generator Guild | src/DevPortal/StellaOps.DevPortal.Site | 63-001 | 63-001 | DEVL0101 |
|
||||
| 63-003 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | APIG0101 outputs | APIG0101 outputs | SDKG0101 |
|
||||
| 63-004 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | 63-003 | 63-003 | SDKG0101 |
|
||||
| 63-003 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | APIG0101 outputs | APIG0101 outputs | SDKG0101 |
|
||||
| 63-004 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | 63-003 | 63-003 | SDKG0101 |
|
||||
| 64-001 | TODO | | SPRINT_206_devportal | DevPortal Guild · Export Center Guild | src/DevPortal/StellaOps.DevPortal.Site | Export profile review | Export profile review | DEVL0101 |
|
||||
| 64-002 | TODO | | SPRINT_160_export_evidence | DevPortal Offline + AirGap Controller Guilds | docs/modules/export-center/devportal-offline.md | Wait for Mirror staffing confirmation (001_PGMI0101) | Wait for Mirror staffing confirmation (001_PGMI0101) | DEVL0102 |
|
||||
| 73-001 | DONE | 2025-11-03 | SPRINT_100_identity_signing | KMS Guild | src/__Libraries/StellaOps.Cryptography.Kms | Staffing + DSSE contract (PGMI0101, ATEL0101) | Staffing + DSSE contract (PGMI0101, ATEL0101) | KMSI0101 |
|
||||
@@ -2435,17 +2435,17 @@
|
||||
| API-27-008 | TODO | | SPRINT_129_policy_reasoning | Policy Registry Guild | src/Policy/StellaOps.Policy.Registry | Depends on #7 | REGISTRY-API-27-007 | PLAR0101 |
|
||||
| API-27-009 | TODO | | SPRINT_129_policy_reasoning | Policy Registry Guild | src/Policy/StellaOps.Policy.Registry | Depends on #8 | REGISTRY-API-27-008 | PLAR0101 |
|
||||
| API-27-010 | TODO | | SPRINT_129_policy_reasoning | Policy Registry Guild | src/Policy/StellaOps.Policy.Registry | Depends on #9 | REGISTRY-API-27-009 | PLAR0101 |
|
||||
| API-28-001 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Cartographer schema sign-off | Cartographer schema sign-off | GRAP0101 |
|
||||
| API-28-002 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #1 | Depends on #1 | GRAP0101 |
|
||||
| API-28-003 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #2 | Depends on #2 | GRAP0101 |
|
||||
| API-28-004 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #3 | Depends on #3 | GRAP0101 |
|
||||
| API-28-005 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #4 | Depends on #4 | GRAP0101 |
|
||||
| API-28-006 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on GRAP0101 base endpoints | Depends on GRAP0101 base endpoints | GRAP0102 |
|
||||
| API-28-007 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #1 | Depends on #1 | GRAP0102 |
|
||||
| API-28-008 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #2 | Depends on #2 | GRAP0102 |
|
||||
| API-28-009 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #3 | Depends on #3 | GRAP0102 |
|
||||
| API-28-010 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #4 | Depends on #4 | GRAP0102 |
|
||||
| API-28-011 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #5 | Depends on #5 | GRAP0102 |
|
||||
| API-28-001 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Cartographer schema sign-off | Cartographer schema sign-off | GRAP0101 |
|
||||
| API-28-002 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #1 | Depends on #1 | GRAP0101 |
|
||||
| API-28-003 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #2 | Depends on #2 | GRAP0101 |
|
||||
| API-28-004 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #3 | Depends on #3 | GRAP0101 |
|
||||
| API-28-005 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #4 | Depends on #4 | GRAP0101 |
|
||||
| API-28-006 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on GRAP0101 base endpoints | Depends on GRAP0101 base endpoints | GRAP0102 |
|
||||
| API-28-007 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #1 | Depends on #1 | GRAP0102 |
|
||||
| API-28-008 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #2 | Depends on #2 | GRAP0102 |
|
||||
| API-28-009 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #3 | Depends on #3 | GRAP0102 |
|
||||
| API-28-010 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #4 | Depends on #4 | GRAP0102 |
|
||||
| API-28-011 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Depends on #5 | Depends on #5 | GRAP0102 |
|
||||
| API-29-001 | TODO | | SPRINT_129_policy_reasoning | Vuln Explorer API Guild | src/VulnExplorer/StellaOps.VulnExplorer.Api | Governance schema (APIG0101) | Governance schema (APIG0101) | VUAP0101 |
|
||||
| API-29-002 | TODO | | SPRINT_129_policy_reasoning | Vuln Explorer API Guild | src/VulnExplorer/StellaOps.VulnExplorer.Api | Depends on #1 | VULN-API-29-001 | VUAP0101 |
|
||||
| API-29-003 | TODO | | SPRINT_129_policy_reasoning | Vuln Explorer API Guild | src/VulnExplorer/StellaOps.VulnExplorer.Api | Depends on #2 | VULN-API-29-002 | VUAP0101 |
|
||||
@@ -2515,21 +2515,21 @@
|
||||
| CLI-42-001 | TODO | | SPRINT_303_docs_tasks_md_iii | Docs Guild (docs) | | — | — | CLCI0101 |
|
||||
| CLI-43-002 | TODO | | SPRINT_504_ops_devops_ii | DevOps Guild, Task Runner Guild (ops/devops) | ops/devops | — | — | CLCI0101 |
|
||||
| CLI-43-003 | TODO | | SPRINT_504_ops_devops_ii | DevOps Guild, DevEx/CLI Guild (ops/devops) | ops/devops | — | — | CLCI0101 |
|
||||
| CLI-AIAI-31-001 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise summarize` command with JSON/Markdown outputs and citation display. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-002 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise explain` showing conflict narrative and structured rationale. Dependencies: CLI-AIAI-31-001. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-003 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise remediate` generating remediation plans with `--strategy` filters and file output. Dependencies: CLI-AIAI-31-002. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-004 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise batch` for summaries/conflicts/remediation with progress + multi-status responses. Dependencies: CLI-AIAI-31-003. | — | CLCI0102 |
|
||||
| CLI-AIAI-31-001 | DOING | 2025-11-22 | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise summarize` command with JSON/Markdown outputs and citation display. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-002 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise explain` showing conflict narrative and structured rationale. Dependencies: CLI-AIAI-31-001. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-003 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise remediate` generating remediation plans with `--strategy` filters and file output. Dependencies: CLI-AIAI-31-002. | — | CLCI0101 |
|
||||
| CLI-AIAI-31-004 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella advise batch` for summaries/conflicts/remediation with progress + multi-status responses. Dependencies: CLI-AIAI-31-003. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-56-001 | TODO | | SPRINT_110_ingestion_evidence | Exporter Guild · AirGap Time Guild · CLI Guild | | PROGRAM-STAFF-1001 | PROGRAM-STAFF-1001 | ATMI0102 |
|
||||
| CLI-AIRGAP-56-002 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Ensure telemetry propagation under sealed mode (no remote exporters) while preserving correlation IDs; add label `AirGapped-Phase-1`. Dependencies: CLI-AIRGAP-56-001. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-57-001 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Add `stella airgap import` with diff preview, bundle scope selection (`--tenant`, `--global`), audit logging, and progress reporting. Dependencies: CLI-AIRGAP-56-002. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-57-002 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Provide `stella airgap seal. Dependencies: CLI-AIRGAP-57-001. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-58-001 | TODO | | SPRINT_201_cli_i | DevEx/CLI Guild, Evidence Locker Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella airgap export evidence` helper for portable evidence packages, including checksum manifest and verification. Dependencies: CLI-AIRGAP-57-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-73-001 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest sign` (payload selection, subject digest, key reference, output format) using official SDK transport. | — | CLCI0102 |
|
||||
| CLI-ATTEST-73-002 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest verify` with policy selection, explainability output, and JSON/table formatting. Dependencies: CLI-ATTEST-73-001. | — | CLCI0102 |
|
||||
| CLI-ATTEST-74-001 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest list` with filters (subject, type, issuer, scope) and pagination. Dependencies: CLI-ATTEST-73-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-74-002 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest fetch` to download envelopes and payloads to disk. Dependencies: CLI-ATTEST-74-001. | — | CLCI0102 |
|
||||
| CLI-ATTEST-75-001 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild, KMS Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest key create. Dependencies: CLI-ATTEST-74-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-75-002 | TODO | | SPRINT_201_cli_i | CLI Attestor Guild | src/Cli/StellaOps.Cli | Add support for building/verifying attestation bundles in CLI. Dependencies: CLI-ATTEST-75-001. | Wait for ATEL0102 outputs | CLCI0109 |
|
||||
| CLI-AIRGAP-56-002 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Ensure telemetry propagation under sealed mode (no remote exporters) while preserving correlation IDs; add label `AirGapped-Phase-1`. Dependencies: CLI-AIRGAP-56-001. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-57-001 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Add `stella airgap import` with diff preview, bundle scope selection (`--tenant`, `--global`), audit logging, and progress reporting. Dependencies: CLI-AIRGAP-56-002. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-57-002 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Provide `stella airgap seal. Dependencies: CLI-AIRGAP-57-001. | — | CLCI0102 |
|
||||
| CLI-AIRGAP-58-001 | TODO | | SPRINT_0201_0001_0001_cli_i | DevEx/CLI Guild, Evidence Locker Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella airgap export evidence` helper for portable evidence packages, including checksum manifest and verification. Dependencies: CLI-AIRGAP-57-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-73-001 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest sign` (payload selection, subject digest, key reference, output format) using official SDK transport. | — | CLCI0102 |
|
||||
| CLI-ATTEST-73-002 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest verify` with policy selection, explainability output, and JSON/table formatting. Dependencies: CLI-ATTEST-73-001. | — | CLCI0102 |
|
||||
| CLI-ATTEST-74-001 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest list` with filters (subject, type, issuer, scope) and pagination. Dependencies: CLI-ATTEST-73-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-74-002 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest fetch` to download envelopes and payloads to disk. Dependencies: CLI-ATTEST-74-001. | — | CLCI0102 |
|
||||
| CLI-ATTEST-75-001 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild, KMS Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement `stella attest key create. Dependencies: CLI-ATTEST-74-002. | — | CLCI0102 |
|
||||
| CLI-ATTEST-75-002 | TODO | | SPRINT_0201_0001_0001_cli_i | CLI Attestor Guild | src/Cli/StellaOps.Cli | Add support for building/verifying attestation bundles in CLI. Dependencies: CLI-ATTEST-75-001. | Wait for ATEL0102 outputs | CLCI0109 |
|
||||
| CLI-CORE-41-001 | TODO | | SPRINT_202_cli_ii | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Implement CLI core features: config precedence, profiles/contexts, auth flows, output renderer (json/yaml/table), error mapping, global flags, telemetry opt-in. | — | CLCI0103 |
|
||||
| CLI-DET-01 | TODO | | SPRINT_301_docs_tasks_md_i | Docs Guild · DevEx/CLI Guild | | CLI-SBOM-60-001; CLI-SBOM-60-002 | CLI-SBOM-60-001; CLI-SBOM-60-002 | CLCI0103 |
|
||||
| CLI-DETER-70-003 | TODO | | SPRINT_202_cli_ii | DevEx/CLI Guild, Scanner Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | Provide `stella detscore run` that executes the determinism harness locally (fixed clock, seeded RNG, canonical hashes) and writes `determinism.json`, supporting CI/non-zero threshold exit codes (`docs/modules/scanner/determinism-score.md`). | — | CLCI0103 |
|
||||
@@ -2692,15 +2692,15 @@
|
||||
| CONSOLE-23-001..003 | TODO | | SPRINT_110_ingestion_evidence | Console Guild | src/Console/StellaOps.Console | Depends on #1 | CONCELIER-GRAPH-21-001; CONCELIER-GRAPH-21-002 | CCSL0101 |
|
||||
| CONSOLE-23-002 | TODO | | SPRINT_112_concelier_i | Console Guild | src/Console/StellaOps.Console | Needs LNM graph (CCGH0101) | Needs LNM graph (CCGH0101) | CCSL0101 |
|
||||
| CONSOLE-23-003 | TODO | | SPRINT_112_concelier_i | Console Guild | src/Console/StellaOps.Console | Depends on #3 | Depends on #3 | CCSL0101 |
|
||||
| CONSOLE-23-004 | TODO | | SPRINT_212_web_i | Console Guild | src/Web/StellaOps.Web | Requires CCPR0101 verdicts | Requires CCPR0101 verdicts | CCSL0101 |
|
||||
| CONSOLE-23-005 | TODO | | SPRINT_212_web_i | Console Guild | src/Web/StellaOps.Web | Depends on #5 | Depends on #5 | CCSL0101 |
|
||||
| CONSOLE-23-004 | TODO | | SPRINT_0212_0001_0001_web_i | Console Guild | src/Web/StellaOps.Web | Requires CCPR0101 verdicts | Requires CCPR0101 verdicts | CCSL0101 |
|
||||
| CONSOLE-23-005 | TODO | | SPRINT_0212_0001_0001_web_i | Console Guild | src/Web/StellaOps.Web | Depends on #5 | Depends on #5 | CCSL0101 |
|
||||
| CONSOLE-OBS-52-001 | TODO | | SPRINT_303_docs_tasks_md_iii | Console Ops Guild | docs/modules/ui | Needs TLTY0101 metrics | Needs TLTY0101 metrics | CCSL0101 |
|
||||
| CONSOLE-OBS-52-002 | TODO | | SPRINT_303_docs_tasks_md_iii | Console Ops Guild | docs/modules/ui | Depends on #7 | Depends on #7 | CCSL0101 |
|
||||
| CONSOLE-VEX-30-001 | TODO | 2025-11-08 | SPRINT_212_web_i | Console Guild · VEX Lens Guild | src/Web/StellaOps.Web | Provide `/console/vex/*` APIs streaming VEX statements, justification summaries, and advisory links with SSE refresh hooks. Dependencies: WEB-CONSOLE-23-001, EXCITITOR-CONSOLE-23-001. | Needs VEX Lens spec (PLVL0103) | CCSL0101 |
|
||||
| CONSOLE-VULN-29-001 | TODO | 2025-11-08 | SPRINT_212_web_i | Console Guild | src/Web/StellaOps.Web | Build `/console/vuln/*` APIs and filters surfacing tenant-scoped findings with policy/VEX badges so Docs/UI teams can document workflows. Dependencies: WEB-CONSOLE-23-001, CONCELIER-GRAPH-21-001. | Depends on CCWO0101 | CCSL0101 |
|
||||
| CONTAINERS-44-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Wait for DVCP0101 compose template | Wait for DVCP0101 compose template | COWB0101 |
|
||||
| CONTAINERS-45-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Depends on #1 | Depends on #1 | COWB0101 |
|
||||
| CONTAINERS-46-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Needs RBRE0101 hashes | Needs RBRE0101 hashes | COWB0101 |
|
||||
| CONSOLE-VEX-30-001 | TODO | 2025-11-08 | SPRINT_0212_0001_0001_web_i | Console Guild · VEX Lens Guild | src/Web/StellaOps.Web | Provide `/console/vex/*` APIs streaming VEX statements, justification summaries, and advisory links with SSE refresh hooks. Dependencies: WEB-CONSOLE-23-001, EXCITITOR-CONSOLE-23-001. | Needs VEX Lens spec (PLVL0103) | CCSL0101 |
|
||||
| CONSOLE-VULN-29-001 | TODO | 2025-11-08 | SPRINT_0212_0001_0001_web_i | Console Guild | src/Web/StellaOps.Web | Build `/console/vuln/*` APIs and filters surfacing tenant-scoped findings with policy/VEX badges so Docs/UI teams can document workflows. Dependencies: WEB-CONSOLE-23-001, CONCELIER-GRAPH-21-001. | Depends on CCWO0101 | CCSL0101 |
|
||||
| CONTAINERS-44-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Wait for DVCP0101 compose template | Wait for DVCP0101 compose template | COWB0101 |
|
||||
| CONTAINERS-45-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Depends on #1 | Depends on #1 | COWB0101 |
|
||||
| CONTAINERS-46-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild | src/Web/StellaOps.Web | Needs RBRE0101 hashes | Needs RBRE0101 hashes | COWB0101 |
|
||||
| CONTRIB-62-001 | TODO | | SPRINT_303_docs_tasks_md_iii | Docs Guild · API Governance Guild | docs/api | Wait for CCWO0101 spec finalization | Wait for CCWO0101 spec finalization | APID0101 |
|
||||
| CORE-185-001 | TODO | | SPRINT_185_shared_replay_primitives | Platform Guild | `src/__Libraries/StellaOps.Replay.Core` | Wait for SGSI0101 feed | Wait for SGSI0101 feed | RLRC0101 |
|
||||
| CORE-185-002 | TODO | | SPRINT_185_shared_replay_primitives | Platform Guild | src/__Libraries/StellaOps.Replay.Core | Depends on #1 | Depends on #1 | RLRC0101 |
|
||||
@@ -3134,8 +3134,8 @@
|
||||
| ENGINE-OPS-0001 | TODO | | SPRINT_325_docs_modules_policy | Ops Guild (docs/modules/policy) | docs/modules/policy | Operations runbook (deploy/rollback) pointer. | — | DOPE0107 |
|
||||
| ENTROPY-186-011 | TODO | | SPRINT_186_record_deterministic_execution | Scanner Guild · Provenance Guild | `src/Scanner/StellaOps.Scanner.Worker`, `src/Scanner/__Libraries` | SCANNER-ENTRYTRACE-18-508 | SCANNER-ENTRYTRACE-18-508 | SCDE0101 |
|
||||
| ENTROPY-186-012 | TODO | | SPRINT_186_record_deterministic_execution | Scanner Guild · Provenance Guild | `src/Scanner/StellaOps.Scanner.WebService`, `docs/replay/DETERMINISTIC_REPLAY.md` | ENTROPY-186-011 | ENTROPY-186-011 | SCDE0102 |
|
||||
| ENTROPY-40-001 | TODO | | SPRINT_209_ui_i | UI Guild | src/UI/StellaOps.UI | ENTROPY-186-011 | ENTROPY-186-011 | UIDO0101 |
|
||||
| ENTROPY-40-002 | TODO | | SPRINT_209_ui_i | UI Guild · Policy Guild | src/UI/StellaOps.UI | ENTROPY-40-001 & ENTROPY-186-012 | ENTROPY-40-001 | UIDO0101 |
|
||||
| ENTROPY-40-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild | src/UI/StellaOps.UI | ENTROPY-186-011 | ENTROPY-186-011 | UIDO0101 |
|
||||
| ENTROPY-40-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild · Policy Guild | src/UI/StellaOps.UI | ENTROPY-40-001 & ENTROPY-186-012 | ENTROPY-40-001 | UIDO0101 |
|
||||
| ENTROPY-70-004 | TODO | | SPRINT_304_docs_tasks_md_iv | Docs Guild · Scanner Guild | docs/modules/scanner/determinism.md | ENTROPY-186-011/012 | ENTROPY-186-011/012 | DOSC0102 |
|
||||
| ENTRYTRACE-18-502 | TODO | | SPRINT_135_scanner_surface | EntryTrace Guild · Scanner Surface Guild | src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace | SCANNER-ENTRYTRACE-18-508 | SCANNER-ENTRYTRACE-18-508 | SCET0101 |
|
||||
| ENTRYTRACE-18-503 | TODO | | SPRINT_135_scanner_surface | EntryTrace Guild · Scanner Surface Guild | src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace | ENTRYTRACE-18-502 | ENTRYTRACE-18-502 | SCET0101 |
|
||||
@@ -3153,9 +3153,9 @@
|
||||
| EVID-REPLAY-187-001 | TODO | | SPRINT_160_export_evidence | Evidence Locker Guild · docs/modules/evidence-locker/architecture.md | docs/modules/evidence-locker/architecture.md | Evidence Locker Guild · docs/modules/evidence-locker/architecture.md | EVID-CRYPTO-90-001 | EVEC0101 |
|
||||
| EXC-25-001 | TODO | | SPRINT_202_cli_ii | DevEx/CLI Guild (`src/Cli/StellaOps.Cli`) | src/Cli/StellaOps.Cli | DOOR0102 APIs | DOOR0102 APIs | CLEX0101 |
|
||||
| EXC-25-002 | TODO | | SPRINT_202_cli_ii | DevEx/CLI Guild (`src/Cli/StellaOps.Cli`) | src/Cli/StellaOps.Cli | EXC-25-001 | EXC-25-001 | CLEX0101 |
|
||||
| EXC-25-003 | TODO | | SPRINT_209_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | DOOR0102 APIs | DOOR0102 APIs | UIEX0101 |
|
||||
| EXC-25-004 | TODO | | SPRINT_209_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | EXC-25-003 | EXC-25-003 | UIEX0101 |
|
||||
| EXC-25-005 | TODO | | SPRINT_209_ui_i | UI + Accessibility Guilds (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | EXC-25-003 | EXC-25-003 | UIEX0101 |
|
||||
| EXC-25-003 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | DOOR0102 APIs | DOOR0102 APIs | UIEX0101 |
|
||||
| EXC-25-004 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | EXC-25-003 | EXC-25-003 | UIEX0101 |
|
||||
| EXC-25-005 | TODO | | SPRINT_0209_0001_0001_ui_i | UI + Accessibility Guilds (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | EXC-25-003 | EXC-25-003 | UIEX0101 |
|
||||
| EXC-25-006 | TODO | | SPRINT_303_docs_tasks_md_iii | Docs Guild · DevEx Guild | docs/modules/excititor | CLEX0101 CLI updates | CLEX0101 CLI updates | DOEX0101 |
|
||||
| EXC-25-007 | TODO | | SPRINT_304_docs_tasks_md_iv | Docs Guild · DevOps Guild | docs/modules/excititor | UIEX0101 console outputs | UIEX0101 console outputs | DOEX0101 |
|
||||
| EXCITITOR-AIAI-31-001 | DONE | 2025-11-09 | SPRINT_110_ingestion_evidence | Excititor Web/Core Guilds | | Normalised VEX justification projections shipped. | | EXWK0101 |
|
||||
@@ -3306,27 +3306,27 @@
|
||||
| GRAPH-21-003 | TODO | 2025-10-27 | SPRINT_213_web_ii | Scanner WebService Guild | src/Web/StellaOps.Web | GRAPH-21-001 | GRAPH-21-001 | GRSC0101 |
|
||||
| GRAPH-21-004 | TODO | 2025-10-27 | SPRINT_213_web_ii | Scanner WebService Guild | src/Web/StellaOps.Web | GRAPH-21-002 | GRAPH-21-002 | GRSC0101 |
|
||||
| GRAPH-21-005 | BLOCKED (2025-10-27) | 2025-10-27 | SPRINT_120_excititor_ii | Excititor Storage Guild | src/Excititor/__Libraries/StellaOps.Excititor.Storage.Mongo | GRAPH-21-002 | GRAPH-21-002 | GRSC0101 |
|
||||
| GRAPH-24-001 | TODO | | SPRINT_209_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | GRSC0101 outputs | GRSC0101 outputs | GRUI0101 |
|
||||
| GRAPH-24-002 | TODO | | SPRINT_209_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-001 | GRAPH-24-001 | GRUI0101 |
|
||||
| GRAPH-24-003 | TODO | | SPRINT_209_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-001 | GRAPH-24-001 | GRUI0101 |
|
||||
| GRAPH-24-004 | TODO | | SPRINT_209_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-002 | GRAPH-24-002 | GRUI0101 |
|
||||
| GRAPH-24-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (`src/UI/StellaOps.UI`) | src/UI/StellaOps.UI | GRSC0101 outputs | GRSC0101 outputs | GRUI0101 |
|
||||
| GRAPH-24-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-001 | GRAPH-24-001 | GRUI0101 |
|
||||
| GRAPH-24-003 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-001 | GRAPH-24-001 | GRUI0101 |
|
||||
| GRAPH-24-004 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-002 | GRAPH-24-002 | GRUI0101 |
|
||||
| GRAPH-24-005 | TODO | | SPRINT_304_docs_tasks_md_iv | UI Guild | | GRAPH-24-003 | GRAPH-24-003 | GRUI0101 |
|
||||
| GRAPH-24-006 | TODO | | SPRINT_209_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-004 | GRAPH-24-004 | GRUI0101 |
|
||||
| GRAPH-24-006 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild | src/UI/StellaOps.UI | GRAPH-24-004 | GRAPH-24-004 | GRUI0101 |
|
||||
| GRAPH-24-007 | TODO | | SPRINT_304_docs_tasks_md_iv | UI Guild | | GRAPH-24-005 | GRAPH-24-005 | GRUI0101 |
|
||||
| GRAPH-24-101 | TODO | | SPRINT_113_concelier_ii | UI Guild | src/Concelier/StellaOps.Concelier.WebService | GRAPH-24-001 | GRAPH-24-001 | GRUI0101 |
|
||||
| GRAPH-24-102 | TODO | | SPRINT_120_excititor_ii | UI Guild | src/Excititor/StellaOps.Excititor.WebService | GRAPH-24-101 | GRAPH-24-101 | GRUI0101 |
|
||||
| GRAPH-28-102 | TODO | | SPRINT_113_concelier_ii | Concelier WebService Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | GRAPI0101 |
|
||||
| GRAPH-API-28-001 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Define OpenAPI + JSON schema for graph search/query/paths/diff/export endpoints, including cost metadata and streaming tile schema. | — | ORGR0101 |
|
||||
| GRAPH-API-28-002 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/search` with multi-type index lookup, prefix/exact match, RBAC enforcement, and result ranking + caching. Dependencies: GRAPH-API-28-001. | — | ORGR0101 |
|
||||
| GRAPH-API-28-003 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Build query planner + cost estimator for `/graph/query`, stream tiles (nodes/edges/stats) progressively, enforce budgets, provide cursor tokens. Dependencies: GRAPH-API-28-002. | — | ORGR0101 |
|
||||
| GRAPH-API-28-004 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/paths` with depth ≤6, constraint filters, heuristic shortest path search, and optional policy overlay rendering. Dependencies: GRAPH-API-28-003. | — | ORGR0101 |
|
||||
| GRAPH-API-28-005 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/diff` streaming added/removed/changed nodes/edges between SBOM snapshots; include overlay deltas and policy/VEX/advisory metadata. Dependencies: GRAPH-API-28-004. | — | ORGR0101 |
|
||||
| GRAPH-API-28-006 | TODO | | SPRINT_207_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Consume Policy Engine overlay contract (`POLICY-ENGINE-30-001..003`) and surface advisory/VEX/policy overlays with caching, partial materialization, and explain trace sampling for focused nodes. Dependencies: GRAPH-API-28-005. | — | ORGR0101 |
|
||||
| GRAPH-API-28-007 | TODO | | SPRINT_207_graph | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | src/Graph/StellaOps.Graph.Api | Implement exports (`graphml`, `csv`, `ndjson`, `png`, `svg`) with async job management, checksum manifests, and streaming downloads. Dependencies: GRAPH-API-28-006. | ORGR0101 outputs | GRAPI0101 |
|
||||
| GRAPH-API-28-008 | TODO | | SPRINT_207_graph | Graph API + Authority Guilds | src/Graph/StellaOps.Graph.Api | Integrate RBAC scopes (`graph:read`, `graph:query`, `graph:export`), tenant headers, audit logging, and rate limiting. Dependencies: GRAPH-API-28-007. | GRAPH-API-28-007 | GRAPI0101 |
|
||||
| GRAPH-API-28-009 | TODO | | SPRINT_207_graph | Graph API + Observability Guilds | src/Graph/StellaOps.Graph.Api | Instrument metrics (`graph_tile_latency_seconds`, `graph_query_budget_denied_total`, `graph_overlay_cache_hit_ratio`), structured logs, and traces per query stage; publish dashboards. Dependencies: GRAPH-API-28-008. | GRAPH-API-28-007 | GRAPI0101 |
|
||||
| GRAPH-API-28-010 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Build unit/integration/load tests with synthetic datasets (500k nodes/2M edges), fuzz query validation, verify determinism across runs. Dependencies: GRAPH-API-28-009. | GRAPH-API-28-008 | GRAPI0101 |
|
||||
| GRAPH-API-28-011 | TODO | | SPRINT_207_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Provide deployment manifests, offline kit support, API gateway integration docs, and smoke tests. Dependencies: GRAPH-API-28-010. | GRAPH-API-28-009 | GRAPI0101 |
|
||||
| GRAPH-API-28-001 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Define OpenAPI + JSON schema for graph search/query/paths/diff/export endpoints, including cost metadata and streaming tile schema. | — | ORGR0101 |
|
||||
| GRAPH-API-28-002 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/search` with multi-type index lookup, prefix/exact match, RBAC enforcement, and result ranking + caching. Dependencies: GRAPH-API-28-001. | — | ORGR0101 |
|
||||
| GRAPH-API-28-003 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Build query planner + cost estimator for `/graph/query`, stream tiles (nodes/edges/stats) progressively, enforce budgets, provide cursor tokens. Dependencies: GRAPH-API-28-002. | — | ORGR0101 |
|
||||
| GRAPH-API-28-004 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/paths` with depth ≤6, constraint filters, heuristic shortest path search, and optional policy overlay rendering. Dependencies: GRAPH-API-28-003. | — | ORGR0101 |
|
||||
| GRAPH-API-28-005 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Implement `/graph/diff` streaming added/removed/changed nodes/edges between SBOM snapshots; include overlay deltas and policy/VEX/advisory metadata. Dependencies: GRAPH-API-28-004. | — | ORGR0101 |
|
||||
| GRAPH-API-28-006 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (src/Graph/StellaOps.Graph.Api) | src/Graph/StellaOps.Graph.Api | Consume Policy Engine overlay contract (`POLICY-ENGINE-30-001..003`) and surface advisory/VEX/policy overlays with caching, partial materialization, and explain trace sampling for focused nodes. Dependencies: GRAPH-API-28-005. | — | ORGR0101 |
|
||||
| GRAPH-API-28-007 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild (`src/Graph/StellaOps.Graph.Api`) | src/Graph/StellaOps.Graph.Api | Implement exports (`graphml`, `csv`, `ndjson`, `png`, `svg`) with async job management, checksum manifests, and streaming downloads. Dependencies: GRAPH-API-28-006. | ORGR0101 outputs | GRAPI0101 |
|
||||
| GRAPH-API-28-008 | TODO | | SPRINT_0207_0001_0001_graph | Graph API + Authority Guilds | src/Graph/StellaOps.Graph.Api | Integrate RBAC scopes (`graph:read`, `graph:query`, `graph:export`), tenant headers, audit logging, and rate limiting. Dependencies: GRAPH-API-28-007. | GRAPH-API-28-007 | GRAPI0101 |
|
||||
| GRAPH-API-28-009 | TODO | | SPRINT_0207_0001_0001_graph | Graph API + Observability Guilds | src/Graph/StellaOps.Graph.Api | Instrument metrics (`graph_tile_latency_seconds`, `graph_query_budget_denied_total`, `graph_overlay_cache_hit_ratio`), structured logs, and traces per query stage; publish dashboards. Dependencies: GRAPH-API-28-008. | GRAPH-API-28-007 | GRAPI0101 |
|
||||
| GRAPH-API-28-010 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Build unit/integration/load tests with synthetic datasets (500k nodes/2M edges), fuzz query validation, verify determinism across runs. Dependencies: GRAPH-API-28-009. | GRAPH-API-28-008 | GRAPI0101 |
|
||||
| GRAPH-API-28-011 | TODO | | SPRINT_0207_0001_0001_graph | Graph API Guild | src/Graph/StellaOps.Graph.Api | Provide deployment manifests, offline kit support, API gateway integration docs, and smoke tests. Dependencies: GRAPH-API-28-010. | GRAPH-API-28-009 | GRAPI0101 |
|
||||
| GRAPH-CAS-401-001 | TODO | | SPRINT_401_reachability_evidence_chain | Scanner Worker Guild | `src/Scanner/StellaOps.Scanner.Worker` | Finalize richgraph schema (`richgraph-v1`), emit canonical SymbolIDs, compute graph hash (BLAKE3), and store CAS manifests under `cas://reachability/graphs/{sha256}`. Update Scanner Worker adapters + fixtures. | Depends on #1 | CASC0101 |
|
||||
| GRAPH-DOCS-0001 | DONE (2025-11-05) | 2025-11-05 | SPRINT_321_docs_modules_graph | Docs Guild | docs/modules/graph | Validate that graph module README/diagrams reflect the latest overlay + snapshot updates. | GRAPI0101 evidence | GRDG0101 |
|
||||
| GRAPH-DOCS-0002 | TODO | 2025-11-05 | SPRINT_321_docs_modules_graph | Docs Guild | docs/modules/graph | Pending DOCS-GRAPH-24-003 to add API/query doc cross-links | GRAPI0101 outputs | GRDG0101 |
|
||||
@@ -3335,7 +3335,7 @@
|
||||
| GRAPH-INDEX-28-008 | TODO | | SPRINT_0140_0001_0001_runtime_signals | — | | Incremental update/backfill pipeline depends on 28-007 artifacts; retry/backoff plumbing sketched but blocked. | — | ORGR0101 |
|
||||
| GRAPH-INDEX-28-009 | TODO | | SPRINT_0140_0001_0001_runtime_signals | — | | Test/fixture/chaos coverage waits on earlier jobs to exist so determinism checks have data. | — | ORGR0101 |
|
||||
| GRAPH-INDEX-28-010 | TODO | | SPRINT_0140_0001_0001_runtime_signals | — | | Packaging/offline bundles paused until upstream graph jobs are available to embed. | — | ORGR0101 |
|
||||
| GRAPH-INDEX-28-011 | TODO | 2025-11-04 | SPRINT_207_graph | Graph Index Guild | src/Graph/StellaOps.Graph.Indexer | Wire SBOM ingest runtime to emit graph snapshot artifacts, add DI factory helpers, and document Mongo/snapshot environment guidance. Dependencies: GRAPH-INDEX-28-002..006. | GRSC0101 outputs | GRIX0101 |
|
||||
| GRAPH-INDEX-28-011 | TODO | 2025-11-04 | SPRINT_0207_0001_0001_graph | Graph Index Guild | src/Graph/StellaOps.Graph.Indexer | Wire SBOM ingest runtime to emit graph snapshot artifacts, add DI factory helpers, and document Mongo/snapshot environment guidance. Dependencies: GRAPH-INDEX-28-002..006. | GRSC0101 outputs | GRIX0101 |
|
||||
| GRAPH-OPS-0001 | TODO | | SPRINT_321_docs_modules_graph | Ops Guild | docs/modules/graph | Review graph observability dashboards/runbooks after the next sprint demo. | GRUI0101 | GRDG0101 |
|
||||
| HELM-45-001 | TODO | | SPRINT_501_ops_deployment_i | Deployment Guild (ops/deployment) | ops/deployment | | | GRIX0101 |
|
||||
| HELM-45-002 | TODO | | SPRINT_502_ops_deployment_ii | Deployment Guild, Security Guild (ops/deployment) | ops/deployment | Add TLS/Ingress, NetworkPolicy, PodSecurityContexts, Secrets integration (external secrets), and document security posture. Dependencies: HELM-45-001. | | GRIX0101 |
|
||||
@@ -3353,7 +3353,7 @@
|
||||
| INDEX-28-008 | TODO | | SPRINT_0140_0001_0001_runtime_signals | Graph Index Guild | src/Graph/StellaOps.Graph.Indexer | INDEX-28-007 | INDEX-28-007 | GRIX0101 |
|
||||
| INDEX-28-009 | TODO | | SPRINT_0140_0001_0001_runtime_signals | Graph Index Guild | src/Graph/StellaOps.Graph.Indexer | INDEX-28-008 | INDEX-28-008 | GRIX0101 |
|
||||
| INDEX-28-010 | TODO | | SPRINT_0140_0001_0001_runtime_signals | Graph Indexer Guild (src/Graph/StellaOps.Graph.Indexer) | src/Graph/StellaOps.Graph.Indexer | | INDEX-28-009 | GRIX0101 |
|
||||
| INDEX-28-011 | DONE | 2025-11-04 | SPRINT_207_graph | Graph Indexer Guild (src/Graph/StellaOps.Graph.Indexer) | src/Graph/StellaOps.Graph.Indexer | | INDEX-28-010 | GRIX0101 |
|
||||
| INDEX-28-011 | DONE | 2025-11-04 | SPRINT_0207_0001_0001_graph | Graph Indexer Guild (src/Graph/StellaOps.Graph.Indexer) | src/Graph/StellaOps.Graph.Indexer | | INDEX-28-010 | GRIX0101 |
|
||||
| INDEX-401-030 | TODO | | SPRINT_401_reachability_evidence_chain | Platform + Ops Guilds | `docs/provenance/inline-dsse.md`, `ops/mongo/indices/events_provenance_indices.js` | Needs Ops approval for new Mongo index | Needs Ops approval for new Mongo index | RBRE0101 |
|
||||
| INGEST-401-013 | TODO | | SPRINT_401_reachability_evidence_chain | Symbols Guild · DevOps Guild (`src/Symbols/StellaOps.Symbols.Ingestor.Cli`) | `src/Symbols/StellaOps.Symbols.Ingestor.Cli`, `docs/specs/SYMBOL_MANIFEST_v1.md` | Implement deterministic ingest + docs. | RBRE0101 inline DSSE | IMPT0101 |
|
||||
| INLINE-401-028 | DONE | | SPRINT_401_reachability_evidence_chain | Authority Guild · Feedser Guild (`docs/provenance/inline-dsse.md`, `src/__Libraries/StellaOps.Provenance.Mongo`) | `docs/provenance/inline-dsse.md`, `src/__Libraries/StellaOps.Provenance.Mongo` | | | INST0101 |
|
||||
@@ -3612,7 +3612,7 @@
|
||||
| POLICY-ATTEST-74-002 | TODO | | SPRINT_123_policy_reasoning | Policy Guild, Console Guild / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Surface policy evaluations in Console verification reports with rule explanations | POLICY-ATTEST-74-001 | |
|
||||
| POLICY-CONSOLE-23-001 | TODO | | SPRINT_123_policy_reasoning | Policy Guild, BE-Base Platform Guild / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Optimize findings/explain APIs for Console: cursor-based pagination at scale, global filter parameters (severity bands, policy version, time window), rule trace summarization, and aggregation hints for dashboard cards. Ensure deterministic ordering and expose provenance refs | | |
|
||||
| POLICY-CONSOLE-23-002 | TODO | | SPRINT_124_policy_reasoning | Policy Guild, Product Ops / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Produce simulation diff metadata | POLICY-CONSOLE-23-001 | |
|
||||
| POLICY-DET-01 | TODO | | SPRINT_209_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | | | |
|
||||
| POLICY-DET-01 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | | | |
|
||||
| POLICY-ENGINE-20-002 | BLOCKED | 2025-10-26 | SPRINT_124_policy_reasoning | Policy Guild / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Build deterministic evaluator honoring lexical/priority order, first-match semantics, and safe value types (no wall-clock/network access) | PGMI0101 | PLPE0101 |
|
||||
| POLICY-ENGINE-20-003 | TODO | | SPRINT_124_policy_reasoning | Policy Guild, Concelier Core Guild, Excititor Core Guild / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Implement selection joiners resolving SBOM↔advisory↔VEX tuples using linksets and PURL equivalence tables, with deterministic batching | POLICY-ENGINE-20-002 | PLPE0101 |
|
||||
| POLICY-ENGINE-20-004 | TODO | | SPRINT_124_policy_reasoning | Policy Guild, Platform Storage Guild / src/Policy/StellaOps.Policy.Engine | src/Policy/StellaOps.Policy.Engine | Ship materialization writer that upserts into `effective_finding_{policyId}` with append-only history, tenant scoping, and trace references | POLICY-ENGINE-20-003 | PLPE0101 |
|
||||
@@ -3799,7 +3799,7 @@
|
||||
| SBOM-AIAI-31-003 | BLOCKED | 2025-11-18 | SPRINT_0111_0001_0001_advisoryai | SBOM Service Guild · Advisory AI Guild (src/SbomService/StellaOps.SbomService) | src/SbomService/StellaOps.SbomService | Publish the Advisory AI hand-off kit for `/v1/sbom/context`, share base URL/API key + tenant header contract, and run a joint end-to-end retrieval smoke test with Advisory AI. | SBOM-AIAI-31-001 projection kit/fixtures | ADAI0101 |
|
||||
| SBOM-CONSOLE-23-001 | TODO | | SPRINT_0140_0001_0001_runtime_signals | | | Console catalog API draft complete; depends on Concelier/Cartographer payload definitions. | | |
|
||||
| SBOM-CONSOLE-23-002 | TODO | | SPRINT_0140_0001_0001_runtime_signals | | | Global component lookup API needs 23-001 responses + cache hints before work can start. | | |
|
||||
| SBOM-DET-01 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | | | |
|
||||
| SBOM-DET-01 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | | | |
|
||||
| SBOM-ORCH-32-001 | TODO | | SPRINT_0140_0001_0001_runtime_signals | | | Orchestrator registration is sequenced after projection schema because payload shapes map into job metadata. | | |
|
||||
| SBOM-ORCH-33-001 | TODO | | SPRINT_0140_0001_0001_runtime_signals | | | Backpressure/telemetry features depend on 32-001 workers. | | |
|
||||
| SBOM-ORCH-34-001 | TODO | | SPRINT_0140_0001_0001_runtime_signals | | | Backfill + watermark logic requires the orchestrator integration from 33-001. | | |
|
||||
@@ -3991,18 +3991,18 @@
|
||||
| SDK-62-002 | TODO | | SPRINT_204_cli_iv | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| SDK-63-001 | TODO | | SPRINT_204_cli_iv | DevEx/CLI Guild, API Governance Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| SDK-64-001 | TODO | | SPRINT_204_cli_iv | DevEx/CLI Guild, SDK Release Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| SDKGEN-62-001 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Choose/pin generator toolchain, set up language template pipeline, and enforce reproducible builds. | DEVL0101 portal contracts | SDKG0101 |
|
||||
| SDKGEN-62-002 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Implement shared post-processing (auth helpers, retries, pagination utilities, telemetry hooks) applied to all languages. Dependencies: SDKGEN-62-001. | SDKGEN-62-001 | SDKG0101 |
|
||||
| SDKGEN-63-001 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship TypeScript SDK alpha with ESM/CJS builds, typed errors, paginator, streaming helpers. Dependencies: SDKGEN-62-002. | 63-004 | SDKG0101 |
|
||||
| SDKGEN-63-002 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Python SDK alpha (sync/async clients, type hints, upload/download helpers). Dependencies: SDKGEN-63-001. | SDKGEN-63-001 | SDKG0101 |
|
||||
| SDKGEN-63-003 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Go SDK alpha with context-first API and streaming helpers. Dependencies: SDKGEN-63-002. | SDKGEN-63-002 | SDKG0101 |
|
||||
| SDKGEN-63-004 | TODO | | SPRINT_208_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Java SDK alpha (builder pattern, HTTP client abstraction). Dependencies: SDKGEN-63-003. | SDKGEN-63-003 | SDKG0101 |
|
||||
| SDKGEN-64-001 | TODO | | SPRINT_208_sdk | SDK Generator Guild · CLI Guild | src/Sdk/StellaOps.Sdk.Generator | Switch CLI to consume TS or Go SDK; ensure parity. Dependencies: SDKGEN-63-004. | SDKGEN-63-004 | SDKG0101 |
|
||||
| SDKGEN-64-002 | TODO | | SPRINT_208_sdk | SDK Generator Guild · Console Guild | src/Sdk/StellaOps.Sdk.Generator | Integrate SDKs into Console data providers where feasible. Dependencies: SDKGEN-64-001. | SDKGEN-64-001 | SDKG0101 |
|
||||
| SDKREL-63-001 | TODO | | SPRINT_208_sdk | SDK Release Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Configure CI pipelines for npm, PyPI, Maven Central staging, and Go proxies with signing and provenance attestations. | | |
|
||||
| SDKREL-63-002 | TODO | | SPRINT_208_sdk | SDK Release Guild, API Governance Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Integrate changelog automation pulling from OAS diffs and generator metadata. Dependencies: SDKREL-63-001. | | |
|
||||
| SDKREL-64-001 | TODO | | SPRINT_208_sdk | SDK Release Guild, Notifications Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Hook SDK releases into Notifications Studio with scoped announcements and RSS/Atom feeds. Dependencies: SDKREL-63-002. | | |
|
||||
| SDKREL-64-002 | TODO | | SPRINT_208_sdk | SDK Release Guild, Export Center Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Add `devportal --offline` bundle job packaging docs, specs, SDK artifacts for air-gapped users. Dependencies: SDKREL-64-001. | | |
|
||||
| SDKGEN-62-001 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Choose/pin generator toolchain, set up language template pipeline, and enforce reproducible builds. | DEVL0101 portal contracts | SDKG0101 |
|
||||
| SDKGEN-62-002 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Implement shared post-processing (auth helpers, retries, pagination utilities, telemetry hooks) applied to all languages. Dependencies: SDKGEN-62-001. | SDKGEN-62-001 | SDKG0101 |
|
||||
| SDKGEN-63-001 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship TypeScript SDK alpha with ESM/CJS builds, typed errors, paginator, streaming helpers. Dependencies: SDKGEN-62-002. | 63-004 | SDKG0101 |
|
||||
| SDKGEN-63-002 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Python SDK alpha (sync/async clients, type hints, upload/download helpers). Dependencies: SDKGEN-63-001. | SDKGEN-63-001 | SDKG0101 |
|
||||
| SDKGEN-63-003 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Go SDK alpha with context-first API and streaming helpers. Dependencies: SDKGEN-63-002. | SDKGEN-63-002 | SDKG0101 |
|
||||
| SDKGEN-63-004 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild | src/Sdk/StellaOps.Sdk.Generator | Ship Java SDK alpha (builder pattern, HTTP client abstraction). Dependencies: SDKGEN-63-003. | SDKGEN-63-003 | SDKG0101 |
|
||||
| SDKGEN-64-001 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild · CLI Guild | src/Sdk/StellaOps.Sdk.Generator | Switch CLI to consume TS or Go SDK; ensure parity. Dependencies: SDKGEN-63-004. | SDKGEN-63-004 | SDKG0101 |
|
||||
| SDKGEN-64-002 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Generator Guild · Console Guild | src/Sdk/StellaOps.Sdk.Generator | Integrate SDKs into Console data providers where feasible. Dependencies: SDKGEN-64-001. | SDKGEN-64-001 | SDKG0101 |
|
||||
| SDKREL-63-001 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Release Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Configure CI pipelines for npm, PyPI, Maven Central staging, and Go proxies with signing and provenance attestations. | | |
|
||||
| SDKREL-63-002 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Release Guild, API Governance Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Integrate changelog automation pulling from OAS diffs and generator metadata. Dependencies: SDKREL-63-001. | | |
|
||||
| SDKREL-64-001 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Release Guild, Notifications Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Hook SDK releases into Notifications Studio with scoped announcements and RSS/Atom feeds. Dependencies: SDKREL-63-002. | | |
|
||||
| SDKREL-64-002 | TODO | | SPRINT_0208_0001_0001_sdk | SDK Release Guild, Export Center Guild (src/Sdk/StellaOps.Sdk.Release) | src/Sdk/StellaOps.Sdk.Release | Add `devportal --offline` bundle job packaging docs, specs, SDK artifacts for air-gapped users. Dependencies: SDKREL-64-001. | | |
|
||||
| SEC-62-001 | TODO | | SPRINT_309_docs_tasks_md_ix | Docs Guild, Authority Core (docs) | | | | |
|
||||
| SEC-CRYPTO-90-001 | DONE | 2025-11-07 | SPRINT_514_sovereign_crypto_enablement | Security Guild (src/__Libraries/StellaOps.Cryptography) | src/__Libraries/StellaOps.Cryptography | Produce the RootPack_RU implementation plan, provider strategy (CryptoPro + PKCS#11), and backlog split for sovereign crypto work. | | |
|
||||
| SEC-CRYPTO-90-002 | DONE | 2025-11-07 | SPRINT_514_sovereign_crypto_enablement | Security Guild (src/__Libraries/StellaOps.Cryptography) | src/__Libraries/StellaOps.Cryptography | Extend signature/catalog constants and configuration schema to recognize `GOST12-256/512`, regional crypto profiles, and provider preference ordering. | | |
|
||||
@@ -4203,26 +4203,26 @@
|
||||
| TIMELINE-OBS-52-004 | TODO | | SPRINT_160_export_evidence | Timeline Indexer + Security Guilds | | Timeline Indexer + Security Guilds | | |
|
||||
| TIMELINE-OBS-53-001 | TODO | | SPRINT_160_export_evidence | Timeline Indexer + Evidence Locker Guilds | | Timeline Indexer + Evidence Locker Guilds | | |
|
||||
| UI-401-027 | TODO | | SPRINT_401_reachability_evidence_chain | UI Guild · CLI Guild (`src/UI/StellaOps.UI`, `src/Cli/StellaOps.Cli`, `docs/uncertainty/README.md`) | `src/UI/StellaOps.UI`, `src/Cli/StellaOps.Cli`, `docs/uncertainty/README.md` | | | |
|
||||
| UI-AOC-19-001 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add Sources dashboard tiles showing AOC pass/fail, recent violation codes, and ingest throughput per tenant. | | |
|
||||
| UI-AOC-19-002 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement violation drill-down view highlighting offending document fields and provenance metadata. Dependencies: UI-AOC-19-001. | | |
|
||||
| UI-AOC-19-003 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add "Verify last 24h" action triggering AOC verifier endpoint and surfacing CLI parity guidance. Dependencies: UI-AOC-19-002. | | |
|
||||
| UI-AOC-19-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add Sources dashboard tiles showing AOC pass/fail, recent violation codes, and ingest throughput per tenant. | | |
|
||||
| UI-AOC-19-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement violation drill-down view highlighting offending document fields and provenance metadata. Dependencies: UI-AOC-19-001. | | |
|
||||
| UI-AOC-19-003 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add "Verify last 24h" action triggering AOC verifier endpoint and surfacing CLI parity guidance. Dependencies: UI-AOC-19-002. | | |
|
||||
| UI-CLI-401-007 | TODO | | SPRINT_401_reachability_evidence_chain | UI & CLI Guilds (`src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI`) | `src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI` | Implement CLI `stella graph explain` + UI explain drawer showing signed call-path, predicates, runtime hits, and DSSE pointers; include counterfactual controls. | | |
|
||||
| UI-DOCS-0001 | TODO | | SPRINT_331_docs_modules_ui | Docs Guild (docs/modules/ui) | docs/modules/ui | | | |
|
||||
| UI-ENG-0001 | TODO | | SPRINT_331_docs_modules_ui | Module Team (docs/modules/ui) | docs/modules/ui | | | |
|
||||
| UI-ENTROPY-40-001 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Visualise entropy analysis per image (layer donut, file heatmaps, “Why risky?” chips) in Vulnerability Explorer and scan details, including opaque byte ratios and detector hints (see `docs/modules/scanner/entropy.md`). | | |
|
||||
| UI-ENTROPY-40-002 | TODO | | SPRINT_209_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add policy banners/tooltips explaining entropy penalties (block/warn thresholds, mitigation steps) and link to raw `entropy.report.json` evidence downloads (`docs/modules/scanner/entropy.md`). Dependencies: UI-ENTROPY-40-001. | | |
|
||||
| UI-EXC-25-001 | TODO | | SPRINT_209_ui_i | UI Guild, Governance Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Exception Center (list + kanban) with filters, sorting, workflow transitions, and audit views. | | |
|
||||
| UI-EXC-25-002 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement exception creation wizard with scope preview, justification templates, timebox guardrails. Dependencies: UI-EXC-25-001. | | |
|
||||
| UI-EXC-25-003 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add inline exception drafting/proposing from Vulnerability Explorer and Graph detail panels with live simulation. Dependencies: UI-EXC-25-002. | | |
|
||||
| UI-EXC-25-004 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Surface exception badges, countdown timers, and explain integration across Graph/Vuln Explorer and policy views. Dependencies: UI-EXC-25-003. | | |
|
||||
| UI-EXC-25-005 | TODO | | SPRINT_209_ui_i | UI Guild, Accessibility Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add keyboard shortcuts (`x`,`a`,`r`) and ensure screen-reader messaging for approvals/revocations. Dependencies: UI-EXC-25-004. | | |
|
||||
| UI-GRAPH-21-001 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Align Graph Explorer auth configuration with new `graph:*` scopes; consume scope identifiers from shared `StellaOpsScopes` exports (via generated SDK/config) instead of hard-coded strings. | | |
|
||||
| UI-GRAPH-24-001 | TODO | | SPRINT_209_ui_i | UI Guild, SBOM Service Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Graph Explorer canvas with layered/radial layouts, virtualization, zoom/pan, and scope toggles; initial render <1.5s for sample asset. Dependencies: UI-GRAPH-21-001. | | |
|
||||
| UI-GRAPH-24-002 | TODO | | SPRINT_209_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement overlays (Policy, Evidence, License, Exposure), simulation toggle, path view, and SBOM diff/time-travel with accessible tooltips/AOC indicators. Dependencies: UI-GRAPH-24-001. | | |
|
||||
| UI-GRAPH-24-003 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Deliver filters/search panel with facets, saved views, permalinks, and share modal. Dependencies: UI-GRAPH-24-002. | | |
|
||||
| UI-GRAPH-24-004 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add side panels (Details, What-if, History) with upgrade simulation integration and SBOM diff viewer. Dependencies: UI-GRAPH-24-003. | | |
|
||||
| UI-GRAPH-24-006 | TODO | | SPRINT_209_ui_i | UI Guild, Accessibility Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Ensure accessibility (keyboard nav, screen reader labels, contrast), add hotkeys (`f`,`e`,`.`), and analytics instrumentation. Dependencies: UI-GRAPH-24-004. | | |
|
||||
| UI-LNM-22-001 | TODO | | SPRINT_209_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Evidence panel showing policy decision with advisory observations/linksets side-by-side, conflict badges, AOC chain, and raw doc download links. Docs `DOCS-LNM-22-005` waiting on delivered UI for screenshots + flows. | | |
|
||||
| UI-ENTROPY-40-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Visualise entropy analysis per image (layer donut, file heatmaps, “Why risky?” chips) in Vulnerability Explorer and scan details, including opaque byte ratios and detector hints (see `docs/modules/scanner/entropy.md`). | | |
|
||||
| UI-ENTROPY-40-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add policy banners/tooltips explaining entropy penalties (block/warn thresholds, mitigation steps) and link to raw `entropy.report.json` evidence downloads (`docs/modules/scanner/entropy.md`). Dependencies: UI-ENTROPY-40-001. | | |
|
||||
| UI-EXC-25-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Governance Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Exception Center (list + kanban) with filters, sorting, workflow transitions, and audit views. | | |
|
||||
| UI-EXC-25-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement exception creation wizard with scope preview, justification templates, timebox guardrails. Dependencies: UI-EXC-25-001. | | |
|
||||
| UI-EXC-25-003 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add inline exception drafting/proposing from Vulnerability Explorer and Graph detail panels with live simulation. Dependencies: UI-EXC-25-002. | | |
|
||||
| UI-EXC-25-004 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Surface exception badges, countdown timers, and explain integration across Graph/Vuln Explorer and policy views. Dependencies: UI-EXC-25-003. | | |
|
||||
| UI-EXC-25-005 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Accessibility Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add keyboard shortcuts (`x`,`a`,`r`) and ensure screen-reader messaging for approvals/revocations. Dependencies: UI-EXC-25-004. | | |
|
||||
| UI-GRAPH-21-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Align Graph Explorer auth configuration with new `graph:*` scopes; consume scope identifiers from shared `StellaOpsScopes` exports (via generated SDK/config) instead of hard-coded strings. | | |
|
||||
| UI-GRAPH-24-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, SBOM Service Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Graph Explorer canvas with layered/radial layouts, virtualization, zoom/pan, and scope toggles; initial render <1.5s for sample asset. Dependencies: UI-GRAPH-21-001. | | |
|
||||
| UI-GRAPH-24-002 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement overlays (Policy, Evidence, License, Exposure), simulation toggle, path view, and SBOM diff/time-travel with accessible tooltips/AOC indicators. Dependencies: UI-GRAPH-24-001. | | |
|
||||
| UI-GRAPH-24-003 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Deliver filters/search panel with facets, saved views, permalinks, and share modal. Dependencies: UI-GRAPH-24-002. | | |
|
||||
| UI-GRAPH-24-004 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add side panels (Details, What-if, History) with upgrade simulation integration and SBOM diff viewer. Dependencies: UI-GRAPH-24-003. | | |
|
||||
| UI-GRAPH-24-006 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Accessibility Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Ensure accessibility (keyboard nav, screen reader labels, contrast), add hotkeys (`f`,`e`,`.`), and analytics instrumentation. Dependencies: UI-GRAPH-24-004. | | |
|
||||
| UI-LNM-22-001 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Build Evidence panel showing policy decision with advisory observations/linksets side-by-side, conflict badges, AOC chain, and raw doc download links. Docs `DOCS-LNM-22-005` waiting on delivered UI for screenshots + flows. | | |
|
||||
| UI-LNM-22-002 | TODO | | SPRINT_210_ui_ii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement filters (source, severity bucket, conflict-only, CVSS vector presence) and pagination/lazy loading for large linksets. Docs depend on finalized filtering UX. Dependencies: UI-LNM-22-001. | | |
|
||||
| UI-LNM-22-003 | TODO | | SPRINT_210_ui_ii | UI Guild, Excititor Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add VEX tab with status/justification summaries, conflict indicators, and export actions. Required for `DOCS-LNM-22-005` coverage of VEX evidence tab. Dependencies: UI-LNM-22-002. | | |
|
||||
| UI-LNM-22-004 | TODO | | SPRINT_210_ui_ii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Provide permalink + copy-to-clipboard for selected component/linkset/policy combination; ensure high-contrast theme support. Dependencies: UI-LNM-22-003. | | |
|
||||
@@ -4240,8 +4240,8 @@
|
||||
| UI-POLICY-23-005 | TODO | | SPRINT_210_ui_ii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Integrate simulator panel (SBOM/component/advisory selection), run diff vs active policy, show explain tree and overlays. Dependencies: UI-POLICY-23-004. | | |
|
||||
| UI-POLICY-23-006 | TODO | | SPRINT_210_ui_ii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Implement explain view linking to evidence overlays and exceptions; provide export to JSON/PDF. Dependencies: UI-POLICY-23-005. | | |
|
||||
| UI-POLICY-27-001 | TODO | | SPRINT_211_ui_iii | UI Guild, Product Ops (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Update Console policy workspace RBAC guards, scope requests, and user messaging to reflect the new Policy Studio roles/scopes (`policy:author/review/approve/operate/audit/simulate`), including Cypress auth stubs and help text. Dependencies: UI-POLICY-23-006. | | |
|
||||
| UI-POLICY-DET-01 | TODO | | SPRINT_209_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Wire policy gate indicators + remediation hints into Release/Policy flows, blocking publishes when determinism checks fail; coordinate with Policy Engine schema updates. Dependencies: UI-SBOM-DET-01. | | |
|
||||
| UI-SBOM-DET-01 | TODO | | SPRINT_209_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add a “Determinism” badge plus drill-down that surfaces fragment hashes, `_composition.json`, and Merkle root consistency when viewing scan details (per `docs/modules/scanner/deterministic-sbom-compose.md`). | | |
|
||||
| UI-POLICY-DET-01 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild, Policy Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Wire policy gate indicators + remediation hints into Release/Policy flows, blocking publishes when determinism checks fail; coordinate with Policy Engine schema updates. Dependencies: UI-SBOM-DET-01. | | |
|
||||
| UI-SBOM-DET-01 | TODO | | SPRINT_0209_0001_0001_ui_i | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add a “Determinism” badge plus drill-down that surfaces fragment hashes, `_composition.json`, and Merkle root consistency when viewing scan details (per `docs/modules/scanner/deterministic-sbom-compose.md`). | | |
|
||||
| UI-SIG-26-001 | TODO | | SPRINT_211_ui_iii | UI Guild, Signals Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add reachability columns/badges to Vulnerability Explorer with filters and tooltips. | | |
|
||||
| UI-SIG-26-002 | TODO | | SPRINT_211_ui_iii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Enhance “Why” drawer with call path visualization, reachability timeline, and evidence list. Dependencies: UI-SIG-26-001. | | |
|
||||
| UI-SIG-26-003 | TODO | | SPRINT_211_ui_iii | UI Guild (src/UI/StellaOps.UI) | src/UI/StellaOps.UI | Add reachability overlay halos/time slider to SBOM Graph along with state legend. Dependencies: UI-SIG-26-002. | | |
|
||||
@@ -4257,7 +4257,7 @@
|
||||
| VAL-05 | TODO | | SPRINT_136_scanner_surface | Docs Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Validation) | src/Scanner/__Libraries/StellaOps.Scanner.Surface.Validation | | SURFACE-VAL-02 | |
|
||||
| VERIFY-186-007 | TODO | | SPRINT_186_record_deterministic_execution | Authority Guild, Provenance Guild (`src/Authority/StellaOps.Authority`, `src/Provenance/StellaOps.Provenance.Attestation`) | `src/Authority/StellaOps.Authority`, `src/Provenance/StellaOps.Provenance.Attestation` | | | |
|
||||
| VEX-006 | TODO | | SPRINT_401_reachability_evidence_chain | Policy, Excititor, UI, CLI & Notify Guilds (`docs/modules/excititor/architecture.md`, `src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI`, `docs/09_API_CLI_REFERENCE.md`) | `docs/modules/excititor/architecture.md`, `src/Cli/StellaOps.Cli`, `src/UI/StellaOps.UI`, `docs/09_API_CLI_REFERENCE.md` | | | |
|
||||
| VEX-30-001 | DOING | 2025-11-08 | SPRINT_212_web_i | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | | | |
|
||||
| VEX-30-001 | DOING | 2025-11-08 | SPRINT_0212_0001_0001_web_i | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | | | |
|
||||
| VEX-30-002 | TODO | | SPRINT_205_cli_v | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| VEX-30-003 | TODO | | SPRINT_205_cli_v | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| VEX-30-004 | TODO | | SPRINT_205_cli_v | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
@@ -4293,7 +4293,7 @@
|
||||
| VEXLENS-EXPORT-35-001 | TODO | | SPRINT_129_policy_reasoning | VEX Lens Guild | src/VexLens/StellaOps.VexLens | Provide consensus snapshot API delivering deterministic JSONL (state, confidence, provenance) for exporter mirror bundles | — | PLVL0103 |
|
||||
| VEXLENS-ORCH-33-001 | TODO | | SPRINT_129_policy_reasoning | VEX Lens Guild | src/VexLens/StellaOps.VexLens | Register `consensus_compute` job type with orchestrator, integrate worker SDK, and expose job planning hooks for consensus batches | — | PLVL0103 |
|
||||
| VEXLENS-ORCH-34-001 | TODO | | SPRINT_129_policy_reasoning | VEX Lens Guild | src/VexLens/StellaOps.VexLens | Emit consensus completion events into orchestrator run ledger and provenance chain, including confidence metadata | VEXLENS-ORCH-33-001 | PLVL0103 |
|
||||
| VULN-29-001 | DOING | 2025-11-08 | SPRINT_212_web_i | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | | | |
|
||||
| VULN-29-001 | DOING | 2025-11-08 | SPRINT_0212_0001_0001_web_i | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | | | |
|
||||
| VULN-29-002 | TODO | | SPRINT_123_excititor_v | Excititor WebService Guild (src/Excititor/StellaOps.Excititor.WebService) | src/Excititor/StellaOps.Excititor.WebService | | | |
|
||||
| VULN-29-003 | TODO | | SPRINT_205_cli_v | DevEx/CLI Guild (src/Cli/StellaOps.Cli) | src/Cli/StellaOps.Cli | | | |
|
||||
| VULN-29-004 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild, Observability Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
@@ -4321,28 +4321,28 @@
|
||||
| VULNERABILITY-EXPLORER-ENG-0001 | TODO | | SPRINT_334_docs_modules_vuln_explorer | Module Team (docs/modules/vuln-explorer) | docs/modules/vuln-explorer | Keep sprint alignment notes in sync with Vuln Explorer sprints. | | |
|
||||
| VULNERABILITY-EXPLORER-OPS-0001 | TODO | | SPRINT_334_docs_modules_vuln_explorer | Ops Guild (docs/modules/vuln-explorer) | docs/modules/vuln-explorer | Review runbooks/observability assets after next demo. | | |
|
||||
| WEB-20-002 | TODO | | SPRINT_0155_0001_0001_scheduler_i | Scheduler WebService Guild (src/Scheduler/StellaOps.Scheduler.WebService) | src/Scheduler/StellaOps.Scheduler.WebService | | | |
|
||||
| WEB-AIAI-31-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Route `/advisory/ai/*` endpoints through gateway with RBAC/ABAC, rate limits, and telemetry headers. | | |
|
||||
| WEB-AIAI-31-002 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide batching job handlers and streaming responses for CLI automation with retry/backoff. Dependencies: WEB-AIAI-31-001. | | |
|
||||
| WEB-AIAI-31-003 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild, Observability Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Emit metrics/logs (latency, guardrail blocks, validation failures) and forward anonymized prompt hashes to analytics. Dependencies: WEB-AIAI-31-002. | | |
|
||||
| WEB-AIAI-31-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Route `/advisory/ai/*` endpoints through gateway with RBAC/ABAC, rate limits, and telemetry headers. | | |
|
||||
| WEB-AIAI-31-002 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide batching job handlers and streaming responses for CLI automation with retry/backoff. Dependencies: WEB-AIAI-31-001. | | |
|
||||
| WEB-AIAI-31-003 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild, Observability Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Emit metrics/logs (latency, guardrail blocks, validation failures) and forward anonymized prompt hashes to analytics. Dependencies: WEB-AIAI-31-002. | | |
|
||||
| WEB-AIRGAP-56-001 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AIRGAP-56-002 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AIRGAP-57-001 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild, AirGap Policy Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AIRGAP-58-001 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild, AirGap Importer Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AOC-19-002 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Ship `ProvenanceBuilder`, checksum utilities, and signature verification helper integrated with guard logging. Cover DSSE/CMS formats with unit tests. Dependencies: WEB-AOC-19-001. | | |
|
||||
| WEB-AOC-19-002 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Ship `ProvenanceBuilder`, checksum utilities, and signature verification helper integrated with guard logging. Cover DSSE/CMS formats with unit tests. Dependencies: WEB-AOC-19-001. | | |
|
||||
| WEB-AOC-19-003 | TODO | | SPRINT_116_concelier_v | QA Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AOC-19-004 | TODO | | SPRINT_116_concelier_v | Concelier WebService Guild, QA Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AOC-19-005 | TODO | 2025-11-08 | SPRINT_116_concelier_v | Concelier WebService Guild, QA Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AOC-19-006 | TODO | 2025-11-08 | SPRINT_116_concelier_v | Concelier WebService Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-AOC-19-007 | TODO | 2025-11-08 | SPRINT_116_concelier_v | Concelier WebService Guild, QA Guild (src/Concelier/StellaOps.Concelier.WebService) | src/Concelier/StellaOps.Concelier.WebService | | | |
|
||||
| WEB-CONSOLE-23-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild, Product Analytics Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide consolidated `/console/dashboard` and `/console/filters` APIs returning tenant-scoped aggregates (findings by severity, VEX override counts, advisory deltas, run health, policy change log). Enforce AOC labelling, deterministic ordering, and cursor-based pagination for drill-down hints. | | |
|
||||
| WEB-CONSOLE-23-002 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild, Scheduler Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Expose `/console/status` polling endpoint and `/console/runs/{id}/stream` SSE/WebSocket proxy with heartbeat/backoff, queue lag metrics, and auth scope enforcement. Surface request IDs + retry headers. Dependencies: WEB-CONSOLE-23-001. | | |
|
||||
| WEB-CONSOLE-23-003 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild, Policy Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Add `/console/exports` POST/GET routes coordinating evidence bundle creation, streaming CSV/JSON exports, checksum manifest retrieval, and signed attestation references. Ensure requests honor tenant + policy scopes and expose job tracking metadata. Dependencies: WEB-CONSOLE-23-002. | | |
|
||||
| WEB-CONSOLE-23-004 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Implement `/console/search` endpoint accepting CVE/GHSA/PURL/SBOM identifiers, performing fan-out queries with caching, ranking, and deterministic tie-breaking. Return typed results for Console navigation; respect result caps and latency SLOs. Dependencies: WEB-CONSOLE-23-003. | | |
|
||||
| WEB-CONSOLE-23-005 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild, DevOps Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Serve `/console/downloads` JSON manifest (images, charts, offline bundles) sourced from signed registry metadata; include integrity hashes, release notes links, and offline instructions. Provide caching headers and documentation. Dependencies: WEB-CONSOLE-23-004. | | |
|
||||
| WEB-CONTAINERS-44-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Expose `/welcome` state, config discovery endpoint (safe values), and `QUICKSTART_MODE` handling for Console banner; add `/health/liveness`, `/health/readiness`, `/version` if missing. | | |
|
||||
| WEB-CONTAINERS-45-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Ensure readiness endpoints reflect DB/queue readiness, add feature flag toggles via config map, and document NetworkPolicy ports. Dependencies: WEB-CONTAINERS-44-001. | | |
|
||||
| WEB-CONTAINERS-46-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide offline-friendly asset serving (no CDN), allow overriding object store endpoints via env, and document fallback behavior. Dependencies: WEB-CONTAINERS-45-001. | | |
|
||||
| WEB-EXC-25-001 | TODO | | SPRINT_212_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Implement `/exceptions` API (create, propose, approve, revoke, list, history) with validation, pagination, and audit logging. | | |
|
||||
| WEB-CONSOLE-23-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild, Product Analytics Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide consolidated `/console/dashboard` and `/console/filters` APIs returning tenant-scoped aggregates (findings by severity, VEX override counts, advisory deltas, run health, policy change log). Enforce AOC labelling, deterministic ordering, and cursor-based pagination for drill-down hints. | | |
|
||||
| WEB-CONSOLE-23-002 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild, Scheduler Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Expose `/console/status` polling endpoint and `/console/runs/{id}/stream` SSE/WebSocket proxy with heartbeat/backoff, queue lag metrics, and auth scope enforcement. Surface request IDs + retry headers. Dependencies: WEB-CONSOLE-23-001. | | |
|
||||
| WEB-CONSOLE-23-003 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild, Policy Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Add `/console/exports` POST/GET routes coordinating evidence bundle creation, streaming CSV/JSON exports, checksum manifest retrieval, and signed attestation references. Ensure requests honor tenant + policy scopes and expose job tracking metadata. Dependencies: WEB-CONSOLE-23-002. | | |
|
||||
| WEB-CONSOLE-23-004 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Implement `/console/search` endpoint accepting CVE/GHSA/PURL/SBOM identifiers, performing fan-out queries with caching, ranking, and deterministic tie-breaking. Return typed results for Console navigation; respect result caps and latency SLOs. Dependencies: WEB-CONSOLE-23-003. | | |
|
||||
| WEB-CONSOLE-23-005 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild, DevOps Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Serve `/console/downloads` JSON manifest (images, charts, offline bundles) sourced from signed registry metadata; include integrity hashes, release notes links, and offline instructions. Provide caching headers and documentation. Dependencies: WEB-CONSOLE-23-004. | | |
|
||||
| WEB-CONTAINERS-44-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Expose `/welcome` state, config discovery endpoint (safe values), and `QUICKSTART_MODE` handling for Console banner; add `/health/liveness`, `/health/readiness`, `/version` if missing. | | |
|
||||
| WEB-CONTAINERS-45-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Ensure readiness endpoints reflect DB/queue readiness, add feature flag toggles via config map, and document NetworkPolicy ports. Dependencies: WEB-CONTAINERS-44-001. | | |
|
||||
| WEB-CONTAINERS-46-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Provide offline-friendly asset serving (no CDN), allow overriding object store endpoints via env, and document fallback behavior. Dependencies: WEB-CONTAINERS-45-001. | | |
|
||||
| WEB-EXC-25-001 | TODO | | SPRINT_0212_0001_0001_web_i | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Implement `/exceptions` API (create, propose, approve, revoke, list, history) with validation, pagination, and audit logging. | | |
|
||||
| WEB-EXC-25-002 | TODO | | SPRINT_213_web_ii | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Extend `/policy/effective` and `/policy/simulate` responses to include exception metadata and accept overrides for simulations. Dependencies: WEB-EXC-25-001. | | |
|
||||
| WEB-EXC-25-003 | TODO | | SPRINT_213_web_ii | BE-Base Platform Guild, Platform Events Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Publish `exception.*` events, integrate with notification hooks, enforce rate limits. Dependencies: WEB-EXC-25-002. | | |
|
||||
| WEB-EXPORT-35-001 | TODO | | SPRINT_213_web_ii | BE-Base Platform Guild (src/Web/StellaOps.Web) | src/Web/StellaOps.Web | Surface Export Center APIs (profiles/runs/download) through gateway with tenant scoping, streaming support, and viewer/operator scope checks. | | |
|
||||
|
||||
@@ -37,7 +37,7 @@ Each conflict includes `field`, `reason`, and `values` (array of `source: value`
|
||||
|
||||
## Linkset output shape additions
|
||||
- `key.confidence`: populated from formula above.
|
||||
- `conflicts[]`: as defined; may be empty but never null.
|
||||
- `conflicts[]`: as defined; may be empty but never null. Each conflict also carries `sourceIds[]` (vendors/sources that produced the values) for provenance.
|
||||
- `normalized` retains add-only fields from `link-not-merge-schema.md`; do not drop raw ranges even when disjoint.
|
||||
- `provenance.hashes`: sorted list of `observationHash` values; used by replay bundles.
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ Canonical JSON must sort object keys (`bundleId`, `importOperator`, …) to keep
|
||||
2. **Event enrichment:** The importer populates `airgap.bundle` fields on each event produced from the bundle. `bundleId` equals manifest digest (SHA-256). `merkleRoot` is the bundle’s manifest Merkle root; `timeAnchor` is the authoritative timestamp from the bundle.
|
||||
3. **Anchoring:** Merkle batching includes bundle metadata; anchor references in `ledger_merkle_roots.anchor_reference` use format `airgap::<bundleId>` when not externally anchored.
|
||||
4. **Projection staleness:** Projector updates `airgap.stalenessSeconds` comparing current time with `bundle.timeAnchor` per artifact scope; CLI + Console read the value to display freshness indicators.
|
||||
5. **API surface:** `POST /internal/ledger/airgap-import` records bundle provenance (returns `ledgerEventId`, `chainId`, `sequence`) and persists the same metadata into `airgap_imports` for audit.
|
||||
|
||||
## 4. Staleness enforcement
|
||||
- Config option `AirGapPolicies:FreshnessThresholdSeconds` (default 604800 = 7 days) sets allowable age.
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
|
||||
| Metric | Type | Labels | Description / target |
|
||||
| --- | --- | --- | --- |
|
||||
| `ledger_write_latency_seconds` | Histogram | `tenant`, `event_type` | End-to-end append latency (API ingress → persisted). P95 ≤ 120 ms. |
|
||||
| `ledger_write_duration_seconds` | Histogram | `tenant`, `event_type`, `source` | End-to-end append latency (API ingress → persisted). P95 ≤ 120 ms. |
|
||||
| `ledger_events_total` | Counter | `tenant`, `event_type`, `source` (`policy`, `workflow`, `orchestrator`) | Incremented per committed event. Mirrors Merkle leaf count. |
|
||||
| `ledger_ingest_backlog_events` | Gauge | `tenant` | Number of events buffered in the writer queue. Alert when >5 000 for 5 min. |
|
||||
| `ledger_ingest_backlog_events` | Gauge | — | Number of events buffered in the writer/anchor queues. Alert when >5 000 for 5 min. |
|
||||
| `ledger_projection_lag_seconds` | Gauge | `tenant` | Wall-clock difference between latest ledger event and projection tail. Target <30 s. |
|
||||
| `ledger_projection_rebuild_seconds` | Histogram | `tenant` | Duration of replay/rebuild operations triggered by LEDGER-29-008 harness. |
|
||||
| `ledger_projection_apply_seconds` | Histogram | `tenant`, `event_type`, `policy_version`, `evaluation_status` | Time to apply a single ledger event to projection. Target P95 <1 s. |
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
1. **Ingestion:** Cartographer/SBOM Service emit SBOM snapshots (`sbom_snapshot` events) captured by the Graph Indexer. Advisories/VEX from Concelier/Excititor generate edge updates, policy runs attach overlay metadata.
|
||||
2. **ETL:** Normalises nodes/edges into canonical IDs, deduplicates, enforces tenant partitions, and writes to the graph store (planned: Neo4j-compatible or document + adjacency lists in Mongo).
|
||||
3. **Overlay computation:** Batch workers build materialised views for frequently used queries (impact lists, saved queries, policy overlays) and store as immutable blobs for Offline Kit exports.
|
||||
4. **Diffing:** `graph_diff` jobs compare two snapshots (e.g., pre/post deploy) and generate signed diff manifests for UI/CLI consumption.
|
||||
4. **Diffing:** `graph_diff` jobs compare two snapshots (e.g., pre/post deploy) and generate signed diff manifests for UI/CLI consumption.
|
||||
5. **Analytics (Runtime & Signals 140.A):** background workers run Louvain-style clustering + degree/betweenness approximations on ingested graphs, emitting overlays per tenant/snapshot and writing cluster ids back to nodes when enabled.
|
||||
|
||||
## 3) APIs
|
||||
|
||||
@@ -44,7 +45,8 @@
|
||||
|
||||
## 6) Observability
|
||||
|
||||
- Metrics: ingestion lag (`graph_ingest_lag_seconds`), node/edge counts, query latency per saved query, overlay generation duration.
|
||||
- Metrics: ingestion lag (`graph_ingest_lag_seconds`), node/edge counts, query latency per saved query, overlay generation duration.
|
||||
- New analytics metrics: `graph_analytics_runs_total`, `graph_analytics_failures_total`, `graph_analytics_clusters_total`, `graph_analytics_centrality_total`, plus change-stream/backfill counters (`graph_changes_total`, `graph_backfill_total`, `graph_change_failures_total`, `graph_change_lag_seconds`).
|
||||
- Logs: structured events for ETL stages and query execution (with trace IDs).
|
||||
- Traces: ETL pipeline spans, query engine spans.
|
||||
|
||||
|
||||
31
docs/modules/graph/packaging.md
Normal file
31
docs/modules/graph/packaging.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Graph Indexer packaging (Runtime & Signals 140.A)
|
||||
|
||||
## Deployment overlays
|
||||
- Helm/Compose should expose two timers for analytics: `GRAPH_ANALYTICS_CLUSTER_INTERVAL` and `GRAPH_ANALYTICS_CENTRALITY_INTERVAL` (ISO-8601 duration, default 5m). Map to `GraphAnalyticsOptions`.
|
||||
- Change-stream/backfill worker toggles via `GRAPH_CHANGE_POLL_INTERVAL`, `GRAPH_BACKFILL_INTERVAL`, `GRAPH_CHANGE_MAX_RETRIES`, `GRAPH_CHANGE_RETRY_BACKOFF`.
|
||||
- New Mongo collections:
|
||||
- `graph_cluster_overlays` — cluster assignments (`tenant`, `snapshot_id`, `node_id`, `cluster_id`, `generated_at`).
|
||||
- `graph_centrality_overlays` — degree + betweenness approximations per node.
|
||||
- optional node updates write `attributes.cluster_id` when `WriteClusterAssignmentsToNodes=true`.
|
||||
|
||||
## Offline kit alignment
|
||||
- Cluster/centrality overlays are exportable alongside `nodes.jsonl`/`edges.jsonl`; keep under `artifacts/graph-snapshots/{snapshotId}/overlays/` for air-gapped imports.
|
||||
- Seed bundle layout:
|
||||
- `clusters.ndjson` — overlay records (one per node) matching `graph_cluster_overlays` schema.
|
||||
- `centrality.ndjson` — overlay records with `degree`/`betweenness`.
|
||||
- `manifest.json` — references snapshot manifest hash and run timestamps.
|
||||
- Determinism: overlays ordered by `node_id` (ordinal) to keep bundle hashes stable.
|
||||
|
||||
## Observability hooks
|
||||
- Metrics (Meter `StellaOps.Graph.Indexer`):
|
||||
- `graph_analytics_runs_total`, `graph_analytics_failures_total`, `graph_analytics_duration_seconds`, `graph_analytics_clusters_total`, `graph_analytics_centrality_total`.
|
||||
- `graph_changes_total`, `graph_backfill_total`, `graph_change_failures_total`, `graph_change_lag_seconds`.
|
||||
- Recommended alerts: lag > 5m, failures > 0 over 10m window, cluster job duration > 2m.
|
||||
|
||||
## Configuration defaults
|
||||
- Cluster/centrality intervals: 5 minutes; label-propagation iterations: 6; betweenness sample size: 12.
|
||||
- Change stream: poll every 5s, backfill every 15m, max retries 3 with 3s backoff, batch size 256.
|
||||
|
||||
## Notes
|
||||
- Analytics writes are idempotent (upserts keyed on tenant+snapshot+node_id). Change-stream processing is idempotent via sequence tokens persisted in `IIdempotencyStore` (Mongo or in-memory for tests).
|
||||
- Keep Helm/Compose values in sync with these defaults when publishing the Runtime & Signals 140.A bundle.
|
||||
21
docs/modules/sbomservice/fixtures/lnm-v1/README.md
Normal file
21
docs/modules/sbomservice/fixtures/lnm-v1/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Link-Not-Merge v1 Fixtures
|
||||
|
||||
Status: Awaiting drop (2025-11-22)
|
||||
|
||||
Expected contents (all JSON, canonicalized, UTF-8):
|
||||
- `projections.json` — canonical SBOM projection payloads keyed by snapshot ID.
|
||||
- `assets.json` — asset metadata overlays (tenant-scoped, append-only).
|
||||
- `paths.json` — ordered dependency paths with runtime flags and blast-radius hints.
|
||||
- `events.json` — `sbom.version.created` envelopes aligned to CAS/provenance fields.
|
||||
- `schema-version.txt` — git SHA / semantic version of the frozen projection schema.
|
||||
- `SHA256SUMS` — checksums for all files above.
|
||||
|
||||
Drop instructions:
|
||||
- Place files in this directory and update `SHA256SUMS` via `sha256sum *.json *.txt > SHA256SUMS`.
|
||||
- Keep ordering stable; prefer NDJSON converted to JSON arrays only if deterministic sorting is applied.
|
||||
- Record drop commit in sprint 0140/0142 Execution Logs and link here.
|
||||
|
||||
Consumers:
|
||||
- SBOM-SERVICE-21-001..004 implementation and tests.
|
||||
- Advisory AI and Console replay suites.
|
||||
- AirGap parity review (`docs/modules/sbomservice/runbooks/airgap-parity-review.md`).
|
||||
@@ -0,0 +1,31 @@
|
||||
# SBOM Service Prep — PREP-SBOM-SERVICE-GUILD-CARTOGRAPHER-GUILD-OB
|
||||
|
||||
Status: Published (2025-11-22)
|
||||
|
||||
Owners: SBOM Service Guild · Cartographer Guild · Observability Guild · Zastava Observer/Webhook Guilds · Security Guild
|
||||
|
||||
Scope: Capture a single readiness note for Runtime & Signals wave (0140) so SBOM-SERVICE-21-001..004 and SBOM-AIAI-31-001/002 can start once fixtures and AirGap approvals land.
|
||||
|
||||
## Current inputs (as of 2025-11-22)
|
||||
- Link-Not-Merge v1 projection schema frozen on 2025-11-17 (per Sprint 0140 decisions); JSON fixtures have not been published.
|
||||
- Mock surface bundle v1 exists; real scanner cache ETA is still outstanding, so Graph/Zastava cannot validate parity yet.
|
||||
- CAS/provenance decisions are tracked under `docs/signals/cas-promotion-24-002.md` and `docs/signals/provenance-24-003.md`; SBOM events must align with these provenance fields.
|
||||
|
||||
## Outstanding blockers to flip SBOM wave to DOING
|
||||
- Publish LNM v1 JSON fixtures with hash list to `docs/modules/sbomservice/fixtures/lnm-v1/` plus `SHA256SUMS`. Owners: Concelier Core · Cartographer Guild.
|
||||
- Run AirGap parity review for `/sbom/paths`, `/sbom/versions`, and `/sbom/events`; template and minutes location published at `docs/modules/sbomservice/runbooks/airgap-parity-review.md`. Owner: Observability Guild with SBOM Service Guild.
|
||||
- Confirm scanner cache drop timeline and hash for the real surface cache; mirror in sprint 0140 tracker once published. Owner: Scanner Guild.
|
||||
|
||||
## Ready-to-start checklist for SBOM-SERVICE-21-001..004
|
||||
- Verify fixtures landed at the path above and match the frozen field list; add deterministic fixture IDs to tests.
|
||||
- Emit projection change events with schema version and fixture set hash; expose counters and optional OTEL traces behind config.
|
||||
- Provide observability baselines (dashboards/alerts) for path/timeline endpoints with latency and error-rate SLOs.
|
||||
- Document tenant scoping and add-only evolution in API reference before exposing to Console and Advisory AI consumers.
|
||||
|
||||
## Evidence
|
||||
- This prep note: `docs/modules/sbomservice/prep/2025-11-22-prep-sbom-service-guild-cartographer-ob.md`.
|
||||
- Blocker detail mirrored in `docs/implplan/SPRINT_0140_0001_0001_runtime_signals.md` Delivery Tracker and Decisions & Risks.
|
||||
|
||||
## Exit criteria
|
||||
- LNM v1 fixtures and AirGap review minutes committed and linked in sprints 0140 and 0142.
|
||||
- Sprint 0140 SBOM wave can move from BLOCKED to DOING with cache ETA recorded.
|
||||
31
docs/modules/sbomservice/runbooks/airgap-parity-review.md
Normal file
31
docs/modules/sbomservice/runbooks/airgap-parity-review.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# AirGap Parity Review — SBOM Service runtime/signals (Sprint 0140/0142)
|
||||
|
||||
Status: Template published (2025-11-22)
|
||||
Owners: Observability Guild · SBOM Service Guild · Cartographer Guild · Runtime & Signals coordination (0140) · Concelier Core (schema fidelity)
|
||||
|
||||
## Purpose
|
||||
Document a repeatable AirGap parity review for `/sbom/paths`, `/sbom/versions`, and SBOM event streams so SBOM-SERVICE-21-001..004 can move from BLOCKED to DOING once fixtures land.
|
||||
|
||||
## Prerequisites
|
||||
- Link-Not-Merge v1 fixtures available under `docs/modules/sbomservice/fixtures/lnm-v1/` with `SHA256SUMS`.
|
||||
- Projection schema frozen (record SHA/commit).
|
||||
- Mock surface bundle hash and real scanner cache ETA published in sprint 0140 tracker.
|
||||
- CAS/provenance appendices (signals) frozen: `docs/signals/cas-promotion-24-002.md`, `docs/signals/provenance-24-003.md`.
|
||||
- Test environment with offline toggle enabled; mirrored packages only.
|
||||
|
||||
## Checklist
|
||||
- Verify fixture integrity: run `sha256sum -c SHA256SUMS` in `fixtures/lnm-v1`.
|
||||
- Replay fixtures in offline mode; capture latency/p95/p99 for `/sbom/paths` and `/sbom/versions` with deterministic seeds.
|
||||
- Confirm tenant scoping and add-only evolution (no in-place updates) using two-tenant replay script.
|
||||
- Validate event envelopes (`sbom.version.created`) against CAS/provenance requirements; ensure DSSE fields present or `skip_reason: offline`.
|
||||
- Check orchestrator backpressure behavior with AirGap throttling; record SLO thresholds.
|
||||
- Capture logs/traces snapshots (if enabled) and redact secrets before attaching.
|
||||
|
||||
## Outputs
|
||||
- Minutes + decisions appended to this file (Execution Notes section) with timestamps and owners.
|
||||
- Metrics table with p50/p95/p99 latency, error rate, and cache hit ratio.
|
||||
- Actions list with owners and due dates; blockers mirrored to sprint 0140/0142 Decisions & Risks.
|
||||
|
||||
## Execution Notes
|
||||
- 2025-11-22: Template published; awaiting fixtures and review scheduling.
|
||||
|
||||
@@ -9,29 +9,30 @@ This document specifies how the Deno analyzer will generate `deno-runtime.ndjson
|
||||
|
||||
## Approach
|
||||
1) **Shim loader**
|
||||
- Entry file `trace-shim.ts` injected ahead of user entrypoint (via `--import-map` or `--unstable-preload-module`).
|
||||
- Entry file `trace-shim.ts` is written alongside the analyzer and executed via `deno run --cached-only --allow-read --allow-env --quiet trace-shim.ts` with `STELLA_DENO_ENTRYPOINT` set to the target module.
|
||||
- Registers listeners:
|
||||
- `Deno.permissions.query/deny/permit` wrappers to observe grants.
|
||||
- `globalThis.__originalImport = WebAssembly.instantiateStreaming` to observe wasm loads (fallback to buffer) and record importer URL.
|
||||
- Wraps dynamic import by monkeypatching `import` via `globalThis.__dynamicImport` using `createDynamicImportProxy` helper (supported in Deno 1.42+).
|
||||
- Hooks `Deno[Deno.internal].moduleLoader.load` (where available) to observe resolved specifier and cache hit/miss reason; fallback to `performance.resourceTimingBuffer` not used.
|
||||
- `Deno.permissions.request/query/revoke` wrappers to capture permission uses and maintain a granted-permission snapshot (normalized to fs/net/env/ffi/process/worker).
|
||||
- Hooks `Deno[Deno.internal].moduleLoader.load` when available to observe module loads (static/dynamic/npm) before execution.
|
||||
- Wraps `WebAssembly.instantiate` / `instantiateStreaming` to record wasm loads.
|
||||
- Wraps `Deno.dlopen` to record FFI permission use.
|
||||
- Uses a synchronous SHA-256 implementation (no WebCrypto) to hash normalized module paths for determinism/offline safety.
|
||||
|
||||
2) **Event buffering**
|
||||
- Collects events in-memory; each event includes UTC timestamp and relative path (computed against analyzer root) plus `path_sha256`.
|
||||
- Origin normalization: for remote specifiers, strip query/fragment; record registry host/version if npm.
|
||||
|
||||
3) **Execution**
|
||||
- Analyzer runs `deno run --allow-read --allow-env --no-lock --no-npm --quiet --import-map trace-import-map.json trace-shim.ts <user-entry>`.
|
||||
- Optional: respect `DENO_DIR` from workspace normalization; no network fetch allowed (set `--cached-only`).
|
||||
- Analyzer/worker runs `deno run --cached-only --allow-read --allow-env --quiet trace-shim.ts` with `STELLA_DENO_ENTRYPOINT=<entry>` (absolute or cwd-relative) and optional `STELLA_DENO_BINARY` override.
|
||||
- Respects `DENO_DIR` if present for npm cache resolution; still offline (`--cached-only`).
|
||||
|
||||
4) **Output**
|
||||
- After user code exits, shim writes buffered events as NDJSON sorted by timestamp then type to `<root>/deno-runtime.ndjson`.
|
||||
- Also prints SHA256 to stdout for diagnostics; Analyzer reads file and stores payload in AnalysisStore + signals.
|
||||
- Analyzer ingests the NDJSON, hashes content, stores payload in AnalysisStore under `ScanAnalysisKeys.DenoRuntimePayload` (legacy alias `"deno.runtime"` kept for backward compatibility), and emits policy signals keyed `surface.lang.deno.*`.
|
||||
|
||||
5) **Determinism & safety**
|
||||
- Timestamps: `Date.now()` captured and converted to ISO-8601 UTC.
|
||||
- Paths: use analyzer root + `path.relative` + forward slashes; hash with SHA256(lowercase hex).
|
||||
- No module source or env values persisted; only paths + hashes.
|
||||
- Timestamps: `Date.now()` captured and converted to ISO-8601 UTC; events sorted by ts then type.
|
||||
- Paths: resolved to analyzer-relative form, forward-slash normalized, hashed with built-in synchronous SHA-256 (lowercase hex); remote origins normalized to protocol//host/path.
|
||||
- No module source or env values persisted; only paths + hashes; npm resolutions recorded as cache hits only.
|
||||
|
||||
## Validation plan
|
||||
- Add fixtures: simple import graph, dynamic import, wasm load, npm: chalk (cached), permission use via `Deno.permissions.request`.
|
||||
|
||||
5
local-nugets/anglesharp/1.1.1/.nupkg.metadata
Normal file
5
local-nugets/anglesharp/1.1.1/.nupkg.metadata
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 2,
|
||||
"contentHash": "Mp/3KeMPbvqDoEEI+qf4gwaq4+QO1uehmYodPvtVO+tb6AGhTjPF8f7PNG73BJ79p4EryWa/pAH4urrafl9+lQ==",
|
||||
"source": "https://api.nuget.org/v3/index.json"
|
||||
}
|
||||
BIN
local-nugets/anglesharp/1.1.1/.signature.p7s
Normal file
BIN
local-nugets/anglesharp/1.1.1/.signature.p7s
Normal file
Binary file not shown.
40
local-nugets/anglesharp/1.1.1/AngleSharp.nuspec
Normal file
40
local-nugets/anglesharp/1.1.1/AngleSharp.nuspec
Normal file
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>AngleSharp</id>
|
||||
<version>1.1.1</version>
|
||||
<authors>AngleSharp</authors>
|
||||
<owners>Florian Rappl</owners>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<license type="expression">MIT</license>
|
||||
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
|
||||
<icon>logo.png</icon>
|
||||
<readme>README.md</readme>
|
||||
<projectUrl>https://anglesharp.github.io/</projectUrl>
|
||||
<description>AngleSharp is the ultimate angle brackets parser library. It parses HTML5, CSS3, and XML to construct a DOM based on the official W3C specification.</description>
|
||||
<releaseNotes>https://github.com/AngleSharp/AngleSharp/blob/main/CHANGELOG.md</releaseNotes>
|
||||
<copyright>Copyright 2013-2024, AngleSharp.</copyright>
|
||||
<tags>html html5 css css3 xml dom dom4 parser engine hypertext markup language query selector attributes linq angle bracket web internet text headless browser</tags>
|
||||
<repository type="git" url="https://github.com/AngleSharp/AngleSharp" />
|
||||
<dependencies>
|
||||
<group targetFramework=".NETStandard2.0">
|
||||
<dependency id="System.Text.Encoding.CodePages" version="7.0.0" />
|
||||
</group>
|
||||
<group targetFramework=".NETFramework4.6.1">
|
||||
<dependency id="System.Text.Encoding.CodePages" version="6.0.0" />
|
||||
</group>
|
||||
<group targetFramework=".NETFramework4.7.2">
|
||||
<dependency id="System.Text.Encoding.CodePages" version="6.0.0" />
|
||||
</group>
|
||||
<group targetFramework="net6.0">
|
||||
<dependency id="System.Text.Encoding.CodePages" version="6.0.0" />
|
||||
</group>
|
||||
<group targetFramework="net7.0">
|
||||
<dependency id="System.Text.Encoding.CodePages" version="7.0.0" />
|
||||
</group>
|
||||
<group targetFramework="net8.0">
|
||||
<dependency id="System.Text.Encoding.CodePages" version="8.0.0" />
|
||||
</group>
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
162
local-nugets/anglesharp/1.1.1/README.md
Normal file
162
local-nugets/anglesharp/1.1.1/README.md
Normal file
@@ -0,0 +1,162 @@
|
||||

|
||||
|
||||
# AngleSharp
|
||||
|
||||
[](https://github.com/AngleSharp/AngleSharp/actions/workflows/ci.yml)
|
||||
[](https://github.com/AngleSharp/AngleSharp/releases)
|
||||
[](https://www.nuget.org/packages/AngleSharp/)
|
||||
[](https://github.com/AngleSharp/AngleSharp/issues)
|
||||
[](https://gitter.im/AngleSharp/AngleSharp)
|
||||
[](https://stackoverflow.com/tags/anglesharp)
|
||||
[](https://cla-assistant.io/AngleSharp/AngleSharp)
|
||||
|
||||
AngleSharp is a .NET library that gives you the ability to parse angle bracket based hyper-texts like HTML, SVG, and MathML. XML without validation is also supported by the library. An important aspect of AngleSharp is that CSS can also be parsed. The included parser is built upon the official W3C specification. This produces a perfectly portable HTML5 DOM representation of the given source code and ensures compatibility with results in evergreen browsers. Also standard DOM features such as `querySelector` or `querySelectorAll` work for tree traversal.
|
||||
|
||||
:zap::zap: **Migrating from AngleSharp 0.9 to AngleSharp 0.10 or later** (incl. 1.0)? Look at our [migration documentation](docs/tutorials/05-Migration.md). :zap::zap:
|
||||
|
||||
## Key Features
|
||||
|
||||
- **Portable** (using .NET Standard 2.0)
|
||||
- **Standards conform** (works exactly as evergreen browsers)
|
||||
- **Great performance** (outperforms similar parsers in most scenarios)
|
||||
- **Extensible** (extend with your own services)
|
||||
- **Useful abstractions** (type helpers, jQuery like construction)
|
||||
- **Fully functional DOM** (all the lists, iterators, and events you know)
|
||||
- **Form submission** (easily log in everywhere)
|
||||
- **Navigation** (a `BrowsingContext` is like a browser tab - control it from .NET!).
|
||||
- **LINQ enhanced** (use LINQ with DOM elements, naturally without wrappers)
|
||||
|
||||
The advantage over similar libraries like *HtmlAgilityPack* is that the exposed DOM is using the official W3C specified API, i.e., that even things like `querySelectorAll` are available in AngleSharp. Also the parser uses the HTML 5.1 specification, which defines error handling and element correction. The AngleSharp library focuses on standards compliance, interactivity, and extensibility. It is therefore giving web developers working with C# all possibilities as they know from using the DOM in any modern browser.
|
||||
|
||||
The performance of AngleSharp is quite close to the performance of browsers. Even very large pages can be processed within milliseconds. AngleSharp tries to minimize memory allocations and reuses elements internally to avoid unnecessary object creation.
|
||||
|
||||
## Simple Demo
|
||||
|
||||
The simple example will use the website of Wikipedia for data retrieval.
|
||||
|
||||
```cs
|
||||
var config = Configuration.Default.WithDefaultLoader();
|
||||
var address = "https://en.wikipedia.org/wiki/List_of_The_Big_Bang_Theory_episodes";
|
||||
var context = BrowsingContext.New(config);
|
||||
var document = await context.OpenAsync(address);
|
||||
var cellSelector = "tr.vevent td:nth-child(3)";
|
||||
var cells = document.QuerySelectorAll(cellSelector);
|
||||
var titles = cells.Select(m => m.TextContent);
|
||||
```
|
||||
|
||||
Or the same with explicit types:
|
||||
|
||||
```cs
|
||||
IConfiguration config = Configuration.Default.WithDefaultLoader();
|
||||
string address = "https://en.wikipedia.org/wiki/List_of_The_Big_Bang_Theory_episodes";
|
||||
IBrowsingContext context = BrowsingContext.New(config);
|
||||
IDocument document = await context.OpenAsync(address);
|
||||
string cellSelector = "tr.vevent td:nth-child(3)";
|
||||
IHtmlCollection<IElement> cells = document.QuerySelectorAll(cellSelector);
|
||||
IEnumerable<string> titles = cells.Select(m => m.TextContent);
|
||||
```
|
||||
|
||||
In the example we see:
|
||||
|
||||
* How to setup the configuration for supporting document loading
|
||||
* Asynchronously get the document in a new context using the configuration
|
||||
* Performing a query to get all cells with the content of interest
|
||||
* The whole DOM supports LINQ queries
|
||||
|
||||
Every collection in AngleSharp supports LINQ statements. AngleSharp also provides many useful extension methods for element collections that cannot be found in the official DOM.
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
AngleSharp has been created as a .NET Standard 2.0 compatible library. This includes, but is not limited to:
|
||||
|
||||
- .NET Core (2.0 and later)
|
||||
- .NET Framework (4.6.1 and later)
|
||||
- Xamarin.Android (7.0 and 8.0)
|
||||
- Xamarin.iOS (10.0 and 10.14)
|
||||
- Xamarin.Mac (3.0 and 3.8)
|
||||
- Mono (4.6 and 5.4)
|
||||
- UWP (10.0 and 10.0.16299)
|
||||
- Unity (2018.1)
|
||||
|
||||
## Documentation
|
||||
|
||||
The documentation of AngleSharp is located [in the docs folder](docs/README.md). More examples, best-practices, and general information can be found there. The documentation also contains a list of [frequently asked questions](docs/tutorials/06-Questions.md).
|
||||
|
||||
More information is also available by following some of the hyper references mentioned in the Wiki. In-depth articles will be published on the CodeProject, with links being placed in the Wiki at GitHub.
|
||||
|
||||
## Use-Cases
|
||||
|
||||
- Parsing HTML (incl. fragments)
|
||||
- Parsing CSS (incl. selectors, declarations, ...)
|
||||
- Constructing HTML (e.g., view-engine)
|
||||
- Minifying CSS, HTML, ...
|
||||
- Querying document elements
|
||||
- Crawling information
|
||||
- Gathering statistics
|
||||
- Web automation
|
||||
- Tools with HTML / CSS / ... support
|
||||
- Connection to page analytics
|
||||
- HTML / DOM unit tests
|
||||
- Automated JavaScript interaction
|
||||
- Testing other concepts, e.g., script engines
|
||||
- ...
|
||||
|
||||
## Vision
|
||||
|
||||
The project aims to bring a solid implementation of the W3C DOM for HTML, SVG, MathML, and CSS to the CLR - all written in C#. The idea is that you can basically do everything with the DOM in C# that you can do in JavaScript (plus, of course, more).
|
||||
|
||||
Most parts of the DOM are included, even though some may still miss their (fully specified / correct) implementation. The goal for v1.0 is to have *all practically relevant* parts implemented according to the official W3C specification (with useful extensions by the WHATWG).
|
||||
|
||||
The API is close to the DOM4 specification, however, the naming has been adjusted to apply with .NET conventions. Nevertheless, to make AngleSharp really useful for, e.g., a JavaScript engine, attributes have been placed on the corresponding interfaces (and methods, properties, ...) to indicate the status of the field in the official specification. This allows automatic generation of DOM objects with the official API.
|
||||
|
||||
This is a long-term project which will eventually result in a state of the art parser for the most important angle bracket based hyper-texts.
|
||||
|
||||
Our hope is to build a community around web parsing and libraries from this project. So far we had great contributions, but that goal was not fully achieved. Want to help? Get in touch with us!
|
||||
|
||||
## Participating in the Project
|
||||
|
||||
If you know some feature that AngleSharp is currently missing, and you are willing to implement the feature, then your contribution is more than welcome! Also if you have a really cool idea - do not be shy, we'd like to hear it.
|
||||
|
||||
If you have an idea how to improve the API (or what is missing) then posts / messages are also welcome. For instance there have been ongoing discussions about some styles that have been used by AngleSharp (e.g., `HTMLDocument` or `HtmlDocument`) in the past. In the end AngleSharp stopped using `HTMLDocument` (at least visible outside of the library). Now AngleSharp uses names like `IDocument`, `IHtmlElement` and so on. This change would not have been possible without such fruitful discussions.
|
||||
|
||||
The project is always searching for additional contributors. Even if you do not have any code to contribute, but rather an idea for improvement, a bug report or a mistake in the documentation. These are the contributions that keep this project active.
|
||||
|
||||
Live discussions can take place in our [Gitter chat](https://gitter.im/AngleSharp/AngleSharp), which supports using GitHub accounts.
|
||||
|
||||
More information is found in the [contribution guidelines](.github/CONTRIBUTING.md). All contributors can be found [in the CONTRIBUTORS](CONTRIBUTORS.md) file.
|
||||
|
||||
This project has also adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community.
|
||||
|
||||
For more information see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).
|
||||
|
||||
## Funding / Support
|
||||
|
||||
If you use AngleSharp frequently, but you do not have the time to support the project by active participation you may still be interested to ensure that the AngleSharp projects keeps the lights on.
|
||||
|
||||
Therefore we created a backing model via [Bountysource](https://salt.bountysource.com/teams/anglesharp). Any donation is welcome and much appreciated. We will mostly spend the money on dedicated development time to improve AngleSharp where it needs to be improved, plus invest in the web utility eco-system in .NET (e.g., in JavaScript engines, other parsers, or a renderer for AngleSharp to mention some outstanding projects).
|
||||
|
||||
> Visit [Bountysource](https://salt.bountysource.com/teams/anglesharp) for more details.
|
||||
|
||||
## Development
|
||||
|
||||
AngleSharp is written in the most recent version of C# and thus requires Roslyn as a compiler. Using an IDE like Visual Studio 2019+ is recommended on Windows. Alternatively, VSCode (with OmniSharp or another suitable Language Server Protocol implementation) should be the tool of choice on other platforms.
|
||||
|
||||
The code tries to be as clean as possible. Notably the following rules are used:
|
||||
|
||||
- Use braces for any conditional / loop body
|
||||
- Use the `-Async` suffixed methods when available
|
||||
- Use VIP ("Var If Possible") style (in C++ called AAA: Almost Always Auto) to place types on the right
|
||||
|
||||
More important, however, is the proper usage of tests. Any new feature should come with a set of tests to cover the functionality and prevent regression.
|
||||
|
||||
## Changelog
|
||||
|
||||
A very detailed [changelog](CHANGELOG.md) exists. If you are just interested in major releases then have a look at [the GitHub releases](https://github.com/AngleSharp/AngleSharp/releases).
|
||||
|
||||
## .NET Foundation
|
||||
|
||||
This project is supported by the [.NET Foundation](https://dotnetfoundation.org).
|
||||
|
||||
## License
|
||||
|
||||
AngleSharp is released using the MIT license. For more information see the [license file](./LICENSE).
|
||||
BIN
local-nugets/anglesharp/1.1.1/anglesharp.1.1.1.nupkg
Normal file
BIN
local-nugets/anglesharp/1.1.1/anglesharp.1.1.1.nupkg
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
ziiduOsv2cM5Gip8AeXDAEp8EXmdHdsD8DsDSwsOaoNvvm8JDVCTvaJggh4mED+srpmlVdK+7wMl0TyJwdv8Cg==
|
||||
27991
local-nugets/anglesharp/1.1.1/lib/net461/AngleSharp.xml
Normal file
27991
local-nugets/anglesharp/1.1.1/lib/net461/AngleSharp.xml
Normal file
File diff suppressed because it is too large
Load Diff
27991
local-nugets/anglesharp/1.1.1/lib/net472/AngleSharp.xml
Normal file
27991
local-nugets/anglesharp/1.1.1/lib/net472/AngleSharp.xml
Normal file
File diff suppressed because it is too large
Load Diff
27991
local-nugets/anglesharp/1.1.1/lib/net6.0/AngleSharp.xml
Normal file
27991
local-nugets/anglesharp/1.1.1/lib/net6.0/AngleSharp.xml
Normal file
File diff suppressed because it is too large
Load Diff
27991
local-nugets/anglesharp/1.1.1/lib/net7.0/AngleSharp.xml
Normal file
27991
local-nugets/anglesharp/1.1.1/lib/net7.0/AngleSharp.xml
Normal file
File diff suppressed because it is too large
Load Diff
27991
local-nugets/anglesharp/1.1.1/lib/net8.0/AngleSharp.xml
Normal file
27991
local-nugets/anglesharp/1.1.1/lib/net8.0/AngleSharp.xml
Normal file
File diff suppressed because it is too large
Load Diff
27991
local-nugets/anglesharp/1.1.1/lib/netstandard2.0/AngleSharp.xml
Normal file
27991
local-nugets/anglesharp/1.1.1/lib/netstandard2.0/AngleSharp.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
local-nugets/anglesharp/1.1.1/logo.png
Normal file
BIN
local-nugets/anglesharp/1.1.1/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 2,
|
||||
"contentHash": "zy8TMeTP+1FH2NrLaNZtdRbBdq7u5MI+NFZQOBSM69u5RFkciinwzV2eveY6Kjf5MzgsYvvl6kTStsj3JrXqkg==",
|
||||
"source": "https://api.nuget.org/v3/index.json"
|
||||
}
|
||||
BIN
local-nugets/bouncycastle.cryptography/2.5.1/.signature.p7s
Normal file
BIN
local-nugets/bouncycastle.cryptography/2.5.1/.signature.p7s
Normal file
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>BouncyCastle.Cryptography</id>
|
||||
<version>2.5.1</version>
|
||||
<title>BouncyCastle.NET Cryptography</title>
|
||||
<authors>Legion of the Bouncy Castle Inc.</authors>
|
||||
<license type="expression">MIT</license>
|
||||
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
|
||||
<icon>packageIcon.png</icon>
|
||||
<readme>README.md</readme>
|
||||
<projectUrl>https://www.bouncycastle.org/stable/nuget/csharp/website</projectUrl>
|
||||
<iconUrl>https://www.bouncycastle.org/stable/nuget/csharp/packageIcon.png</iconUrl>
|
||||
<description>BouncyCastle.NET is a popular cryptography library for .NET</description>
|
||||
<releaseNotes>https://www.bouncycastle.org/stable/nuget/csharp/release_notes</releaseNotes>
|
||||
<copyright>Copyright © Legion of the Bouncy Castle Inc. 2000-2024</copyright>
|
||||
<tags>bouncycastle cryptography dtls encryption open-source openpgp post-quantum security tls</tags>
|
||||
<repository type="git" url="https://github.com/bcgit/bc-csharp" branch="refs/heads/release/v2.5" commit="71250c8b20b4a98cf7574febf2fc216763e4ca6a" />
|
||||
<dependencies>
|
||||
<group targetFramework=".NETFramework4.6.1" />
|
||||
<group targetFramework="net6.0" />
|
||||
<group targetFramework=".NETStandard2.0" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
13
local-nugets/bouncycastle.cryptography/2.5.1/LICENSE.md
Normal file
13
local-nugets/bouncycastle.cryptography/2.5.1/LICENSE.md
Normal file
@@ -0,0 +1,13 @@
|
||||
Copyright (c) 2000-2024 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org).
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
||||
associated documentation files (the "Software"), to deal in the Software without restriction,
|
||||
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
||||
sub license, and/or sell copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions: The above copyright notice and this
|
||||
permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
|
||||
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
|
||||
OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.**
|
||||
45
local-nugets/bouncycastle.cryptography/2.5.1/README.md
Normal file
45
local-nugets/bouncycastle.cryptography/2.5.1/README.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# The Bouncy Castle Cryptography Library For .NET
|
||||
[](https://www.nuget.org/packages/BouncyCastle.Cryptography) [](https://www.nuget.org/packages/BouncyCastle.Cryptography)
|
||||
|
||||
The Bouncy Castle Cryptography library is a .NET implementation of cryptographic algorithms and protocols. It was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help! The Legion, and the latest goings on with this package, can be found at [https://www.bouncycastle.org](https://www.bouncycastle.org).
|
||||
|
||||
In addition to providing basic cryptography algorithms, the package also provides support for CMS, OpenPGP, (D)TLS, TSP, X.509 certificate generation and more. The package also includes implementations of the following NIST Post-Quantum Cryptography Standardization algorithms: CRYSTALS-Dilithium, CRYSTALS-Kyber, Falcon, SPHINCS+, Classic McEliece, FrodoKEM, NTRU, NTRU Prime, Picnic, Saber, BIKE, and SIKE. These should all be considered EXPERIMENTAL and subject to change or removal. SIKE in particular is already slated for removal and should be used for research purposes only.
|
||||
|
||||
The Legion also gratefully acknowledges the contributions made to this package by others (see [here](https://www.bouncycastle.org/csharp/contributors.html) for the current list). If you would like to contribute to our efforts please feel free to get in touch with us or visit our [donations page](https://www.bouncycastle.org/donate), sponsor some specific work, or purchase a [support contract](https://www.keyfactor.com/platform/bouncy-castle-support/).
|
||||
|
||||
Except where otherwise stated, this software is distributed under a license based on the MIT X Consortium license. To view the license, [see here](https://www.bouncycastle.org/licence.html). This software includes a modified Bzip2 library, which is licensed under the [Apache Software License, Version 2.0](http://www.apache.org/licenses/).
|
||||
|
||||
**Note**: This source tree is not the FIPS version of the APIs - if you are interested in our FIPS version please visit us [here](https://www.bouncycastle.org/fips-csharp) or contact us directly at [office@bouncycastle.org](mailto:office@bouncycastle.org).
|
||||
|
||||
## Installing BouncyCastle
|
||||
You should install [BouncyCastle with NuGet:](https://www.nuget.org/packages/BouncyCastle.Cryptography)
|
||||
|
||||
Install-Package BouncyCastle.Cryptography
|
||||
|
||||
Or via the .NET Core command line interface:
|
||||
|
||||
dotnet add package BouncyCastle.Cryptography
|
||||
|
||||
Either commands, from Package Manager Console or .NET Core CLI, will download and install BouncyCastle.Cryptography.
|
||||
|
||||
|
||||
## Mailing Lists
|
||||
|
||||
For those who are interested, there are 2 mailing lists for participation in this project. To subscribe use the links below and include the word subscribe in the message body. (To unsubscribe, replace **subscribe** with **unsubscribe** in the message body)
|
||||
|
||||
* [announce-crypto-csharp-request@bouncycastle.org](mailto:announce-crypto-csharp-request@bouncycastle.org)
|
||||
This mailing list is for new release announcements only, general subscribers cannot post to it.
|
||||
* [dev-crypto-csharp-request@bouncycastle.org](mailto:dev-crypto-csharp-request@bouncycastle.org)
|
||||
This mailing list is for discussion of development of the package. This includes bugs, comments, requests for enhancements, questions about use or operation.
|
||||
|
||||
**NOTE:** You need to be subscribed to send mail to the above mailing list.
|
||||
|
||||
## Feedback
|
||||
|
||||
If you want to provide feedback directly to the members of **The Legion** then please use [feedback-crypto@bouncycastle.org](mailto:feedback-crypto@bouncycastle.org). If you want to help this project survive please consider [donating](https://www.bouncycastle.org/donate).
|
||||
|
||||
For bug reporting/requests you can report issues on [github](https://github.com/bcgit/bc-csharp), or via [feedback-crypto@bouncycastle.org](mailto:feedback-crypto@bouncycastle.org) if required. We will accept pull requests based on this repository as well, but only on the basis that any code included may be distributed under the [Bouncy Castle License](https://www.bouncycastle.org/licence.html).
|
||||
|
||||
## Finally
|
||||
|
||||
Enjoy!
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
zBLXFaejrNoOUbaASuEOHD6VQwCcEISFrmxOvodz3uV2Qvi+KR3CytzRSghqAjfZJSmJl97YoBpNWngce2erPQ==
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
BIN
local-nugets/bouncycastle.cryptography/2.5.1/packageIcon.png
Normal file
BIN
local-nugets/bouncycastle.cryptography/2.5.1/packageIcon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 2,
|
||||
"contentHash": "kKSyoVfndMriKHLfYGmr0uzQuI4jcc3TKGyww7buJFCYeHb/X0kodYBPL7n9454q7v6ASiRmDgpPGaDGerg/Hg==",
|
||||
"source": "https://api.nuget.org/v3/index.json"
|
||||
}
|
||||
BIN
local-nugets/jetbrains.annotations/2021.2.0/.signature.p7s
Normal file
BIN
local-nugets/jetbrains.annotations/2021.2.0/.signature.p7s
Normal file
Binary file not shown.
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>JetBrains.Annotations</id>
|
||||
<version>2021.2.0</version>
|
||||
<title>JetBrains ReSharper Annotations</title>
|
||||
<authors>JetBrains</authors>
|
||||
<owners>JetBrains</owners>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<license type="expression">MIT</license>
|
||||
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
|
||||
<icon>icon.png</icon>
|
||||
<projectUrl>https://www.jetbrains.com/help/resharper/Code_Analysis__Code_Annotations.html</projectUrl>
|
||||
<iconUrl>https://resources.jetbrains.com/storage/products/resharper/img/meta/ReSharper_64.png</iconUrl>
|
||||
<description>ReSharper Annotations help reduce false positive warnings, explicitly declare purity and nullability in your code, deal with implicit usages of members, support special semantics of APIs in ASP.NET and XAML frameworks and otherwise increase accuracy of ReSharper code inspections.
|
||||
|
||||
All usages of ReSharper Annotations attributes are erased from metadata by default, which means no actual binary reference to 'JetBrains.Annotations.dll' assembly is produced. If you need to preserve these attributes in metadata, just define 'JETBRAINS_ANNOTATIONS' conditional compilation symbol in your projects.</description>
|
||||
<summary>Annotations to increase accuracy of ReSharper code inspections</summary>
|
||||
<releaseNotes>• Added 'UriStringAttribute' to enable URL features on string literals
|
||||
• Added 'RequireStaticDelegateAttribute' to enforce the allocation-less usage patterns</releaseNotes>
|
||||
<tags>jetbrains resharper annotations canbenull notnull</tags>
|
||||
<dependencies>
|
||||
<group targetFramework=".NETFramework2.0" />
|
||||
<group targetFramework=".NETPortable4.0-Profile328" />
|
||||
<group targetFramework=".NETStandard1.0">
|
||||
<dependency id="System.Runtime" version="4.1.0" />
|
||||
</group>
|
||||
<group targetFramework=".NETStandard2.0" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
BIN
local-nugets/jetbrains.annotations/2021.2.0/icon.png
Normal file
BIN
local-nugets/jetbrains.annotations/2021.2.0/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
Binary file not shown.
@@ -0,0 +1 @@
|
||||
5PHop6aJCyEWoqW0SDNG4b3QrHsw1ntcAmuFlsUVCoaGi7LT6soi0OIugNvP7u2udV7BwpJYyIlaz8P5cQUXxQ==
|
||||
@@ -0,0 +1,823 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>JetBrains.Annotations</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:JetBrains.Annotations.CanBeNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked element could be <c>null</c> sometimes,
|
||||
so checking for <c>null</c> is required before its usage.
|
||||
</summary>
|
||||
<example><code>
|
||||
[CanBeNull] object Test() => null;
|
||||
|
||||
void UseTest() {
|
||||
var p = Test();
|
||||
var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked element can never be <c>null</c>.
|
||||
</summary>
|
||||
<example><code>
|
||||
[NotNull] object Foo() {
|
||||
return null; // Warning: Possible 'null' assignment
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ItemNotNullAttribute">
|
||||
<summary>
|
||||
Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
|
||||
and Lazy classes to indicate that the value of a collection item, of the Task.Result property
|
||||
or of the Lazy.Value property can never be null.
|
||||
</summary>
|
||||
<example><code>
|
||||
public void Foo([ItemNotNull]List<string> books)
|
||||
{
|
||||
foreach (var book in books) {
|
||||
if (book != null) // Warning: Expression is always true
|
||||
Console.WriteLine(book.ToUpper());
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ItemCanBeNullAttribute">
|
||||
<summary>
|
||||
Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
|
||||
and Lazy classes to indicate that the value of a collection item, of the Task.Result property
|
||||
or of the Lazy.Value property can be null.
|
||||
</summary>
|
||||
<example><code>
|
||||
public void Foo([ItemCanBeNull]List<string> books)
|
||||
{
|
||||
foreach (var book in books)
|
||||
{
|
||||
// Warning: Possible 'System.NullReferenceException'
|
||||
Console.WriteLine(book.ToUpper());
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method builds string by the format pattern and (optional) arguments.
|
||||
The parameter, which contains the format string, should be given in the constructor. The format string
|
||||
should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/>-like form.
|
||||
</summary>
|
||||
<example><code>
|
||||
[StringFormatMethod("message")]
|
||||
void ShowError(string message, params object[] args) { /* do something */ }
|
||||
|
||||
void Foo() {
|
||||
ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
|
||||
<param name="formatParameterName">
|
||||
Specifies which parameter of an annotated method should be treated as the format string
|
||||
</param>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StructuredMessageTemplateAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter is a message template where placeholders are to be replaced by the following arguments
|
||||
in the order in which they appear
|
||||
</summary>
|
||||
<example><code>
|
||||
void LogInfo([StructuredMessageTemplate]string message, params object[] args) { /* do something */ }
|
||||
|
||||
void Foo() {
|
||||
LogInfo("User created: {username}"); // Warning: Non-existing argument in format string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ValueProviderAttribute">
|
||||
<summary>
|
||||
Use this annotation to specify a type that contains static or const fields
|
||||
with values for the annotated property/field/parameter.
|
||||
The specified type will be used to improve completion suggestions.
|
||||
</summary>
|
||||
<example><code>
|
||||
namespace TestNamespace
|
||||
{
|
||||
public class Constants
|
||||
{
|
||||
public static int INT_CONST = 1;
|
||||
public const string STRING_CONST = "1";
|
||||
}
|
||||
|
||||
public class Class1
|
||||
{
|
||||
[ValueProvider("TestNamespace.Constants")] public int myField;
|
||||
public void Foo([ValueProvider("TestNamespace.Constants")] string str) { }
|
||||
|
||||
public void Test()
|
||||
{
|
||||
Foo(/*try completion here*/);//
|
||||
myField = /*try completion here*/
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ValueRangeAttribute">
|
||||
<summary>
|
||||
Indicates that the integral value falls into the specified interval.
|
||||
It's allowed to specify multiple non-intersecting intervals.
|
||||
Values of interval boundaries are inclusive.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo([ValueRange(0, 100)] int value) {
|
||||
if (value == -1) { // Warning: Expression is always 'false'
|
||||
...
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NonNegativeValueAttribute">
|
||||
<summary>
|
||||
Indicates that the integral value never falls below zero.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo([NonNegativeValue] int value) {
|
||||
if (value == -1) { // Warning: Expression is always 'false'
|
||||
...
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
|
||||
<summary>
|
||||
Indicates that the function argument should be a string literal and match one
|
||||
of the parameters of the caller function. For example, ReSharper annotates
|
||||
the parameter of <see cref="T:System.ArgumentNullException"/>.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo(string param) {
|
||||
if (param == null)
|
||||
throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotifyPropertyChangedInvocatorAttribute">
|
||||
<summary>
|
||||
Indicates that the method is contained in a type that implements
|
||||
<c>System.ComponentModel.INotifyPropertyChanged</c> interface and this method
|
||||
is used to notify that some property value changed.
|
||||
</summary>
|
||||
<remarks>
|
||||
The method should be non-static and conform to one of the supported signatures:
|
||||
<list>
|
||||
<item><c>NotifyChanged(string)</c></item>
|
||||
<item><c>NotifyChanged(params string[])</c></item>
|
||||
<item><c>NotifyChanged{T}(Expression{Func{T}})</c></item>
|
||||
<item><c>NotifyChanged{T,U}(Expression{Func{T,U}})</c></item>
|
||||
<item><c>SetProperty{T}(ref T, T, string)</c></item>
|
||||
</list>
|
||||
</remarks>
|
||||
<example><code>
|
||||
public class Foo : INotifyPropertyChanged {
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
[NotifyPropertyChangedInvocator]
|
||||
protected virtual void NotifyChanged(string propertyName) { ... }
|
||||
|
||||
string _name;
|
||||
|
||||
public string Name {
|
||||
get { return _name; }
|
||||
set { _name = value; NotifyChanged("LastName"); /* Warning */ }
|
||||
}
|
||||
}
|
||||
</code>
|
||||
Examples of generated notifications:
|
||||
<list>
|
||||
<item><c>NotifyChanged("Property")</c></item>
|
||||
<item><c>NotifyChanged(() => Property)</c></item>
|
||||
<item><c>NotifyChanged((VM x) => x.Property)</c></item>
|
||||
<item><c>SetProperty(ref myField, value, "Property")</c></item>
|
||||
</list>
|
||||
</example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ContractAnnotationAttribute">
|
||||
<summary>
|
||||
Describes dependency between method input and output.
|
||||
</summary>
|
||||
<syntax>
|
||||
<p>Function Definition Table syntax:</p>
|
||||
<list>
|
||||
<item>FDT ::= FDTRow [;FDTRow]*</item>
|
||||
<item>FDTRow ::= Input => Output | Output <= Input</item>
|
||||
<item>Input ::= ParameterName: Value [, Input]*</item>
|
||||
<item>Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
|
||||
<item>Value ::= true | false | null | notnull | canbenull</item>
|
||||
</list>
|
||||
If the method has a single input parameter, its name could be omitted.<br/>
|
||||
Using <c>halt</c> (or <c>void</c>/<c>nothing</c>, which is the same) for the method output
|
||||
means that the method doesn't return normally (throws or terminates the process).<br/>
|
||||
Value <c>canbenull</c> is only applicable for output parameters.<br/>
|
||||
You can use multiple <c>[ContractAnnotation]</c> for each FDT row, or use single attribute
|
||||
with rows separated by the semicolon. There is no notion of order rows, all rows are checked
|
||||
for applicability and applied per each program state tracked by the analysis engine.<br/>
|
||||
</syntax>
|
||||
<examples><list>
|
||||
<item><code>
|
||||
[ContractAnnotation("=> halt")]
|
||||
public void TerminationMethod()
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("null <= param:null")] // reverse condition syntax
|
||||
public string GetName(string surname)
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("s:null => true")]
|
||||
public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
|
||||
</code></item>
|
||||
<item><code>
|
||||
// A method that returns null if the parameter is null,
|
||||
// and not null if the parameter is not null
|
||||
[ContractAnnotation("null => null; notnull => notnull")]
|
||||
public object Transform(object data)
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("=> true, result: notnull; => false, result: null")]
|
||||
public bool TryParse(string s, out Person result)
|
||||
</code></item>
|
||||
</list></examples>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LocalizationRequiredAttribute">
|
||||
<summary>
|
||||
Indicates whether the marked element should be localized.
|
||||
</summary>
|
||||
<example><code>
|
||||
[LocalizationRequiredAttribute(true)]
|
||||
class Foo {
|
||||
string str = "my string"; // Warning: Localizable string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked type (or its derivatives)
|
||||
cannot be compared using '==' or '!=' operators and <c>Equals()</c>
|
||||
should be used instead. However, using '==' or '!=' for comparison
|
||||
with <c>null</c> is always permitted.
|
||||
</summary>
|
||||
<example><code>
|
||||
[CannotApplyEqualityOperator]
|
||||
class NoEquality { }
|
||||
|
||||
class UsesNoEquality {
|
||||
void Test() {
|
||||
var ca1 = new NoEquality();
|
||||
var ca2 = new NoEquality();
|
||||
if (ca1 != null) { // OK
|
||||
bool condition = ca1 == ca2; // Warning
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute">
|
||||
<summary>
|
||||
When applied to a target attribute, specifies a requirement for any type marked
|
||||
with the target attribute to implement or inherit specific type or types.
|
||||
</summary>
|
||||
<example><code>
|
||||
[BaseTypeRequired(typeof(IComponent)] // Specify requirement
|
||||
class ComponentAttribute : Attribute { }
|
||||
|
||||
[Component] // ComponentAttribute requires implementing IComponent interface
|
||||
class MyComponent : IComponent { }
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
|
||||
<summary>
|
||||
Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
|
||||
so this symbol will be ignored by usage-checking inspections. <br/>
|
||||
You can use <see cref="T:JetBrains.Annotations.ImplicitUseKindFlags"/> and <see cref="T:JetBrains.Annotations.ImplicitUseTargetFlags"/>
|
||||
to configure how this attribute is applied.
|
||||
</summary>
|
||||
<example><code>
|
||||
[UsedImplicitly]
|
||||
public class TypeConverter {}
|
||||
|
||||
public class SummaryData
|
||||
{
|
||||
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature)]
|
||||
public SummaryData() {}
|
||||
}
|
||||
|
||||
[UsedImplicitly(ImplicitUseTargetFlags.WithInheritors | ImplicitUseTargetFlags.Default)]
|
||||
public interface IService {}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
|
||||
<summary>
|
||||
Can be applied to attributes, type parameters, and parameters of a type assignable from <see cref="T:System.Type"/> .
|
||||
When applied to an attribute, the decorated attribute behaves the same as <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
When applied to a type parameter or to a parameter of type <see cref="T:System.Type"/>,
|
||||
indicates that the corresponding type is used implicitly.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseKindFlags">
|
||||
<summary>
|
||||
Specifies the details of implicitly used symbol when it is marked
|
||||
with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access">
|
||||
<summary>Only entity marked with attribute considered used.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign">
|
||||
<summary>Indicates implicit assignment to a member.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type with fixed constructor signature.
|
||||
That means any unused constructor parameters won't be reported as such.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature">
|
||||
<summary>Indicates implicit instantiation of a type.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseTargetFlags">
|
||||
<summary>
|
||||
Specifies what is considered to be used implicitly when marked
|
||||
with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members">
|
||||
<summary>Members of the type marked with the attribute are considered used.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithInheritors">
|
||||
<summary> Inherited entities are considered used. </summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers">
|
||||
<summary>Entity marked with the attribute and all its members considered used.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PublicAPIAttribute">
|
||||
<summary>
|
||||
This attribute is intended to mark publicly available API,
|
||||
which should not be removed and so is treated as used.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InstantHandleAttribute">
|
||||
<summary>
|
||||
Tells the code analysis engine if the parameter is completely handled when the invoked method is on stack.
|
||||
If the parameter is a delegate, indicates that delegate is executed while the method is executed.
|
||||
If the parameter is an enumerable, indicates that it is enumerated while the method is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PureAttribute">
|
||||
<summary>
|
||||
Indicates that a method does not make any observable state changes.
|
||||
The same as <c>System.Diagnostics.Contracts.PureAttribute</c>.
|
||||
</summary>
|
||||
<example><code>
|
||||
[Pure] int Multiply(int x, int y) => x * y;
|
||||
|
||||
void M() {
|
||||
Multiply(123, 42); // Warning: Return value of pure method is not used
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MustUseReturnValueAttribute">
|
||||
<summary>
|
||||
Indicates that the return value of the method invocation must be used.
|
||||
</summary>
|
||||
<remarks>
|
||||
Methods decorated with this attribute (in contrast to pure methods) might change state,
|
||||
but make no sense without using their return value. <br/>
|
||||
Similarly to <see cref="T:JetBrains.Annotations.PureAttribute"/>, this attribute
|
||||
will help to detect usages of the method when the return value is not used.
|
||||
Optionally, you can specify a message to use when showing warnings, e.g.
|
||||
<code>[MustUseReturnValue("Use the return value to...")]</code>.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RequireStaticDelegateAttribute">
|
||||
<summary>
|
||||
This annotation allows to enforce allocation-less usage patterns of delegates for performance-critical APIs.
|
||||
When this annotation is applied to the parameter of delegate type, IDE checks the input argument of this parameter:
|
||||
* When lambda expression or anonymous method is passed as an argument, IDE verifies that the passed closure
|
||||
has no captures of the containing local variables and the compiler is able to cache the delegate instance
|
||||
to avoid heap allocations. Otherwise the warning is produced.
|
||||
* IDE warns when method name or local function name is passed as an argument as this always results
|
||||
in heap allocation of the delegate instance.
|
||||
</summary>
|
||||
<remarks>
|
||||
In C# 9.0 code IDE would also suggest to annotate the anonymous function with 'static' modifier
|
||||
to make use of the similar analysis provided by the language/compiler.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ProvidesContextAttribute">
|
||||
<summary>
|
||||
Indicates the type member or parameter of some type, that should be used instead of all other ways
|
||||
to get the value of that type. This annotation is useful when you have some "context" value evaluated
|
||||
and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one.
|
||||
</summary>
|
||||
<example><code>
|
||||
class Foo {
|
||||
[ProvidesContext] IBarService _barService = ...;
|
||||
|
||||
void ProcessNode(INode node) {
|
||||
DoSomething(node, node.GetGlobalServices().Bar);
|
||||
// ^ Warning: use value of '_barService' field
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PathReferenceAttribute">
|
||||
<summary>
|
||||
Indicates that a parameter is a path to a file or a folder within a web project.
|
||||
Path can be relative or absolute, starting from web root (~).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.SourceTemplateAttribute">
|
||||
<summary>
|
||||
An extension method marked with this attribute is processed by code completion
|
||||
as a 'Source Template'. When the extension method is completed over some expression, its source code
|
||||
is automatically expanded like a template at call site.
|
||||
</summary>
|
||||
<remarks>
|
||||
Template method body can contain valid source code and/or special comments starting with '$'.
|
||||
Text inside these comments is added as source code when the template is applied. Template parameters
|
||||
can be used either as additional method parameters or as identifiers wrapped in two '$' signs.
|
||||
Use the <see cref="T:JetBrains.Annotations.MacroAttribute"/> attribute to specify macros for parameters.
|
||||
</remarks>
|
||||
<example>
|
||||
In this example, the 'forEach' method is a source template available over all values
|
||||
of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block:
|
||||
<code>
|
||||
[SourceTemplate]
|
||||
public static void forEach<T>(this IEnumerable<T> xs) {
|
||||
foreach (var x in xs) {
|
||||
//$ $END$
|
||||
}
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MacroAttribute">
|
||||
<summary>
|
||||
Allows specifying a macro for a parameter of a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see>.
|
||||
</summary>
|
||||
<remarks>
|
||||
You can apply the attribute on the whole method or on any of its additional parameters. The macro expression
|
||||
is defined in the <see cref="P:JetBrains.Annotations.MacroAttribute.Expression"/> property. When applied on a method, the target
|
||||
template parameter is defined in the <see cref="P:JetBrains.Annotations.MacroAttribute.Target"/> property. To apply the macro silently
|
||||
for the parameter, set the <see cref="P:JetBrains.Annotations.MacroAttribute.Editable"/> property value = -1.
|
||||
</remarks>
|
||||
<example>
|
||||
Applying the attribute on a source template method:
|
||||
<code>
|
||||
[SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
|
||||
public static void forEach<T>(this IEnumerable<T> collection) {
|
||||
foreach (var item in collection) {
|
||||
//$ $END$
|
||||
}
|
||||
}
|
||||
</code>
|
||||
Applying the attribute on a template method parameter:
|
||||
<code>
|
||||
[SourceTemplate]
|
||||
public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
|
||||
/*$ var $x$Id = "$newguid$" + x.ToString();
|
||||
x.DoSomething($x$Id); */
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Expression">
|
||||
<summary>
|
||||
Allows specifying a macro that will be executed for a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see>
|
||||
parameter when the template is expanded.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Editable">
|
||||
<summary>
|
||||
Allows specifying which occurrence of the target parameter becomes editable when the template is deployed.
|
||||
</summary>
|
||||
<remarks>
|
||||
If the target parameter is used several times in the template, only one occurrence becomes editable;
|
||||
other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence,
|
||||
use values >= 0. To make the parameter non-editable when the template is expanded, use -1.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Target">
|
||||
<summary>
|
||||
Identifies the target parameter of a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see> if the
|
||||
<see cref="T:JetBrains.Annotations.MacroAttribute"/> is applied on a template method.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcActionAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC action. If applied to a method, the MVC action name is calculated
|
||||
implicitly from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcAreaAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC area.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcControllerAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is
|
||||
an MVC controller. If applied to a method, the MVC controller name is calculated
|
||||
implicitly from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcMasterAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC Master. Use this attribute
|
||||
for custom wrappers similar to <c>System.Web.Mvc.Controller.View(String, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcModelTypeAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC model type. Use this attribute
|
||||
for custom wrappers similar to <c>System.Web.Mvc.Controller.View(String, Object)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcPartialViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC
|
||||
partial view. If applied to a method, the MVC partial view name is calculated implicitly
|
||||
from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcSuppressViewErrorAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcDisplayTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that a parameter is an MVC display template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcEditorTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC editor template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.ComponentModel.DataAnnotations.UIHintAttribute(System.String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component. If applied to a method, the MVC view name is calculated implicitly
|
||||
from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Controller.View(Object)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewComponentAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewComponentViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component view. If applied to a method, the MVC view component view name is default.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcActionSelectorAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. When applied to a parameter of an attribute,
|
||||
indicates that this parameter is an MVC action name.
|
||||
</summary>
|
||||
<example><code>
|
||||
[ActionName("Foo")]
|
||||
public ActionResult Login(string returnUrl) {
|
||||
ViewBag.ReturnUrl = Url.Action("Foo"); // OK
|
||||
return RedirectToAction("Bar"); // Error: Cannot resolve action
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RazorSectionAttribute">
|
||||
<summary>
|
||||
Razor attribute. Indicates that the marked parameter or method is a Razor section.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.WebPages.WebPageBase.RenderSection(String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CollectionAccessAttribute">
|
||||
<summary>
|
||||
Indicates how method, constructor invocation, or property access
|
||||
over collection type affects the contents of the collection.
|
||||
Use <see cref="P:JetBrains.Annotations.CollectionAccessAttribute.CollectionAccessType"/> to specify the access type.
|
||||
</summary>
|
||||
<remarks>
|
||||
Using this attribute only makes sense if all collection methods are marked with this attribute.
|
||||
</remarks>
|
||||
<example><code>
|
||||
public class MyStringCollection : List<string>
|
||||
{
|
||||
[CollectionAccess(CollectionAccessType.Read)]
|
||||
public string GetFirstString()
|
||||
{
|
||||
return this.ElementAt(0);
|
||||
}
|
||||
}
|
||||
class Test
|
||||
{
|
||||
public void Foo()
|
||||
{
|
||||
// Warning: Contents of the collection is never updated
|
||||
var col = new MyStringCollection();
|
||||
string x = col.GetFirstString();
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CollectionAccessType">
|
||||
<summary>
|
||||
Provides a value for the <see cref="T:JetBrains.Annotations.CollectionAccessAttribute"/> to define
|
||||
how the collection method invocation affects the contents of the collection.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.None">
|
||||
<summary>Method does not use or modify content of the collection.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.Read">
|
||||
<summary>Method only reads content of the collection but does not modify it.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.ModifyExistingContent">
|
||||
<summary>Method can change content of the collection but does not add new elements.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.UpdatedContent">
|
||||
<summary>Method can add new elements to the collection.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method is assertion method, i.e. it halts the control flow if
|
||||
one of the conditions is satisfied. To set the condition, mark one of the parameters with
|
||||
<see cref="T:JetBrains.Annotations.AssertionConditionAttribute"/> attribute.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionAttribute">
|
||||
<summary>
|
||||
Indicates the condition parameter of the assertion method. The method itself should be
|
||||
marked by <see cref="T:JetBrains.Annotations.AssertionMethodAttribute"/> attribute. The mandatory argument of
|
||||
the attribute is the assertion type.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionType">
|
||||
<summary>
|
||||
Specifies assertion type. If the assertion method argument satisfies the condition,
|
||||
then the execution continues. Otherwise, execution is assumed to be halted.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_TRUE">
|
||||
<summary>Marked parameter should be evaluated to true.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_FALSE">
|
||||
<summary>Marked parameter should be evaluated to false.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NULL">
|
||||
<summary>Marked parameter should be evaluated to null value.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NOT_NULL">
|
||||
<summary>Marked parameter should be evaluated to not null value.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.TerminatesProgramAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method unconditionally terminates control flow execution.
|
||||
For example, it could unconditionally throw exception.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LinqTunnelAttribute">
|
||||
<summary>
|
||||
Indicates that the method is a pure LINQ method, with postponed enumeration (like Enumerable.Select,
|
||||
.Where). This annotation allows inference of [InstantHandle] annotation for parameters
|
||||
of delegate type by analyzing LINQ method chains.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoEnumerationAttribute">
|
||||
<summary>
|
||||
Indicates that IEnumerable passed as a parameter is not enumerated.
|
||||
Use this annotation to suppress the 'Possible multiple enumeration of IEnumerable' inspection.
|
||||
</summary>
|
||||
<example><code>
|
||||
static void ThrowIfNull<T>([NoEnumeration] T v, string n) where T : class
|
||||
{
|
||||
// custom check for null but no enumeration
|
||||
}
|
||||
|
||||
void Foo(IEnumerable<string> values)
|
||||
{
|
||||
ThrowIfNull(values, nameof(values));
|
||||
var x = values.ToList(); // No warnings about multiple enumeration
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RegexPatternAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is a regular expression pattern.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoReorderAttribute">
|
||||
<summary>
|
||||
Prevents the Member Reordering feature from tossing members of the marked class.
|
||||
</summary>
|
||||
<remarks>
|
||||
The attribute must be mentioned in your member reordering patterns.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the type that has <c>ItemsSource</c> property and should be treated
|
||||
as <c>ItemsControl</c>-derived type, to enable inner items <c>DataContext</c> type resolve.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemBindingOfItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the property of some <c>BindingBase</c>-derived type, that
|
||||
is used to bind some item of <c>ItemsControl</c>-derived type. This annotation will
|
||||
enable the <c>DataContext</c> type resolve for XAML bindings for such properties.
|
||||
</summary>
|
||||
<remarks>
|
||||
Property should have the tree ancestor of the <c>ItemsControl</c> type or
|
||||
marked with the <see cref="T:JetBrains.Annotations.XamlItemsControlAttribute"/> attribute.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemStyleOfItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the property of some <c>Style</c>-derived type, that
|
||||
is used to style items of <c>ItemsControl</c>-derived type. This annotation will
|
||||
enable the <c>DataContext</c> type resolve for XAML bindings for such properties.
|
||||
</summary>
|
||||
<remarks>
|
||||
Property should have the tree ancestor of the <c>ItemsControl</c> type or
|
||||
marked with the <see cref="T:JetBrains.Annotations.XamlItemsControlAttribute"/> attribute.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlOneWayBindingModeByDefaultAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates that DependencyProperty has <c>OneWay</c> binding mode by default.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute must be applied to DependencyProperty's CLR accessor property if it is present, to DependencyProperty descriptor field otherwise.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlTwoWayBindingModeByDefaultAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates that DependencyProperty has <c>TwoWay</c> binding mode by default.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute must be applied to DependencyProperty's CLR accessor property if it is present, to DependencyProperty descriptor field otherwise.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RouteTemplateAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is a route template.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute allows IDE to recognize the use of web frameworks' route templates
|
||||
to enable syntax highlighting, code completion, navigation, rename and other features in string literals.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RouteParameterConstraintAttribute">
|
||||
<summary>
|
||||
Indicates that the marked type is custom route parameter constraint,
|
||||
which is registered in application's Startup with name <c>ConstraintName</c>
|
||||
</summary>
|
||||
<remarks>
|
||||
You can specify <c>ProposedType</c> if target constraint matches only route parameters of specific type,
|
||||
it will allow IDE to create method's parameter from usage in route template
|
||||
with specified type instead of default <c>System.String</c>
|
||||
and check if constraint's proposed type conflicts with matched parameter's type
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UriStringAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is an URI string.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute enables code completion, navigation, rename and other features
|
||||
in URI string literals assigned to annotated parameter, field or property.
|
||||
</remarks>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
@@ -0,0 +1,386 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETStandard,Version=v1.0/",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETStandard,Version=v1.0": {},
|
||||
".NETStandard,Version=v1.0/": {
|
||||
"JetBrains.Annotations/2021.2": {
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.6.0"
|
||||
},
|
||||
"runtime": {
|
||||
"JetBrains.Annotations.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.NETCore.Platforms/1.0.1": {},
|
||||
"Microsoft.NETCore.Targets/1.0.1": {},
|
||||
"NETStandard.Library/1.6.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"System.Collections": "4.0.11",
|
||||
"System.Diagnostics.Debug": "4.0.11",
|
||||
"System.Diagnostics.Tools": "4.0.1",
|
||||
"System.Globalization": "4.0.11",
|
||||
"System.IO": "4.1.0",
|
||||
"System.Linq": "4.1.0",
|
||||
"System.Linq.Expressions": "4.1.0",
|
||||
"System.Net.Primitives": "4.0.11",
|
||||
"System.ObjectModel": "4.0.12",
|
||||
"System.Reflection": "4.1.0",
|
||||
"System.Reflection.Extensions": "4.0.1",
|
||||
"System.Reflection.Primitives": "4.0.1",
|
||||
"System.Resources.ResourceManager": "4.0.1",
|
||||
"System.Runtime": "4.1.0",
|
||||
"System.Runtime.Extensions": "4.1.0",
|
||||
"System.Text.Encoding": "4.0.11",
|
||||
"System.Text.Encoding.Extensions": "4.0.11",
|
||||
"System.Text.RegularExpressions": "4.1.0",
|
||||
"System.Threading": "4.0.11",
|
||||
"System.Threading.Tasks": "4.0.11",
|
||||
"System.Xml.ReaderWriter": "4.0.11",
|
||||
"System.Xml.XDocument": "4.0.11"
|
||||
}
|
||||
},
|
||||
"System.Collections/4.0.11": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Diagnostics.Debug/4.0.11": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Diagnostics.Tools/4.0.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Globalization/4.0.11": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.IO/4.1.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Runtime": "4.1.0",
|
||||
"System.Text.Encoding": "4.0.11",
|
||||
"System.Threading.Tasks": "4.0.11"
|
||||
}
|
||||
},
|
||||
"System.Linq/4.1.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.0.11",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Linq.Expressions/4.1.0": {
|
||||
"dependencies": {
|
||||
"System.Reflection": "4.1.0",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Net.Primitives/4.0.11": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.ObjectModel/4.0.12": {
|
||||
"dependencies": {
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Reflection/4.1.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.IO": "4.1.0",
|
||||
"System.Reflection.Primitives": "4.0.1",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Reflection.Extensions/4.0.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Reflection": "4.1.0",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Reflection.Primitives/4.0.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Resources.ResourceManager/4.0.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Globalization": "4.0.11",
|
||||
"System.Reflection": "4.1.0",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime/4.1.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1"
|
||||
}
|
||||
},
|
||||
"System.Runtime.Extensions/4.1.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encoding/4.0.11": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encoding.Extensions/4.0.11": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Runtime": "4.1.0",
|
||||
"System.Text.Encoding": "4.0.11"
|
||||
}
|
||||
},
|
||||
"System.Text.RegularExpressions/4.1.0": {
|
||||
"dependencies": {
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Threading/4.0.11": {
|
||||
"dependencies": {
|
||||
"System.Runtime": "4.1.0",
|
||||
"System.Threading.Tasks": "4.0.11"
|
||||
}
|
||||
},
|
||||
"System.Threading.Tasks/4.0.11": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.0.1",
|
||||
"Microsoft.NETCore.Targets": "1.0.1",
|
||||
"System.Runtime": "4.1.0"
|
||||
}
|
||||
},
|
||||
"System.Xml.ReaderWriter/4.0.11": {
|
||||
"dependencies": {
|
||||
"System.IO": "4.1.0",
|
||||
"System.Runtime": "4.1.0",
|
||||
"System.Text.Encoding": "4.0.11",
|
||||
"System.Threading.Tasks": "4.0.11"
|
||||
}
|
||||
},
|
||||
"System.Xml.XDocument/4.0.11": {
|
||||
"dependencies": {
|
||||
"System.IO": "4.1.0",
|
||||
"System.Runtime": "4.1.0",
|
||||
"System.Xml.ReaderWriter": "4.0.11"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"JetBrains.Annotations/2021.2": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Microsoft.NETCore.Platforms/1.0.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==",
|
||||
"path": "microsoft.netcore.platforms/1.0.1",
|
||||
"hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.NETCore.Targets/1.0.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==",
|
||||
"path": "microsoft.netcore.targets/1.0.1",
|
||||
"hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512"
|
||||
},
|
||||
"NETStandard.Library/1.6.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ypsCvIdCZ4IoYASJHt6tF2fMo7N30NLgV1EbmC+snO490OMl9FvVxmumw14rhReWU3j3g7BYudG6YCrchwHJlA==",
|
||||
"path": "netstandard.library/1.6.0",
|
||||
"hashPath": "netstandard.library.1.6.0.nupkg.sha512"
|
||||
},
|
||||
"System.Collections/4.0.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==",
|
||||
"path": "system.collections/4.0.11",
|
||||
"hashPath": "system.collections.4.0.11.nupkg.sha512"
|
||||
},
|
||||
"System.Diagnostics.Debug/4.0.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==",
|
||||
"path": "system.diagnostics.debug/4.0.11",
|
||||
"hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512"
|
||||
},
|
||||
"System.Diagnostics.Tools/4.0.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==",
|
||||
"path": "system.diagnostics.tools/4.0.1",
|
||||
"hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512"
|
||||
},
|
||||
"System.Globalization/4.0.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==",
|
||||
"path": "system.globalization/4.0.11",
|
||||
"hashPath": "system.globalization.4.0.11.nupkg.sha512"
|
||||
},
|
||||
"System.IO/4.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==",
|
||||
"path": "system.io/4.1.0",
|
||||
"hashPath": "system.io.4.1.0.nupkg.sha512"
|
||||
},
|
||||
"System.Linq/4.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==",
|
||||
"path": "system.linq/4.1.0",
|
||||
"hashPath": "system.linq.4.1.0.nupkg.sha512"
|
||||
},
|
||||
"System.Linq.Expressions/4.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==",
|
||||
"path": "system.linq.expressions/4.1.0",
|
||||
"hashPath": "system.linq.expressions.4.1.0.nupkg.sha512"
|
||||
},
|
||||
"System.Net.Primitives/4.0.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-hVvfl4405DRjA2408luZekbPhplJK03j2Y2lSfMlny7GHXlkByw1iLnc9mgKW0GdQn73vvMcWrWewAhylXA4Nw==",
|
||||
"path": "system.net.primitives/4.0.11",
|
||||
"hashPath": "system.net.primitives.4.0.11.nupkg.sha512"
|
||||
},
|
||||
"System.ObjectModel/4.0.12": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==",
|
||||
"path": "system.objectmodel/4.0.12",
|
||||
"hashPath": "system.objectmodel.4.0.12.nupkg.sha512"
|
||||
},
|
||||
"System.Reflection/4.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==",
|
||||
"path": "system.reflection/4.1.0",
|
||||
"hashPath": "system.reflection.4.1.0.nupkg.sha512"
|
||||
},
|
||||
"System.Reflection.Extensions/4.0.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==",
|
||||
"path": "system.reflection.extensions/4.0.1",
|
||||
"hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512"
|
||||
},
|
||||
"System.Reflection.Primitives/4.0.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==",
|
||||
"path": "system.reflection.primitives/4.0.1",
|
||||
"hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512"
|
||||
},
|
||||
"System.Resources.ResourceManager/4.0.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==",
|
||||
"path": "system.resources.resourcemanager/4.0.1",
|
||||
"hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512"
|
||||
},
|
||||
"System.Runtime/4.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==",
|
||||
"path": "system.runtime/4.1.0",
|
||||
"hashPath": "system.runtime.4.1.0.nupkg.sha512"
|
||||
},
|
||||
"System.Runtime.Extensions/4.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==",
|
||||
"path": "system.runtime.extensions/4.1.0",
|
||||
"hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Encoding/4.0.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==",
|
||||
"path": "system.text.encoding/4.0.11",
|
||||
"hashPath": "system.text.encoding.4.0.11.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Encoding.Extensions/4.0.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==",
|
||||
"path": "system.text.encoding.extensions/4.0.11",
|
||||
"hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512"
|
||||
},
|
||||
"System.Text.RegularExpressions/4.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==",
|
||||
"path": "system.text.regularexpressions/4.1.0",
|
||||
"hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512"
|
||||
},
|
||||
"System.Threading/4.0.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==",
|
||||
"path": "system.threading/4.0.11",
|
||||
"hashPath": "system.threading.4.0.11.nupkg.sha512"
|
||||
},
|
||||
"System.Threading.Tasks/4.0.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==",
|
||||
"path": "system.threading.tasks/4.0.11",
|
||||
"hashPath": "system.threading.tasks.4.0.11.nupkg.sha512"
|
||||
},
|
||||
"System.Xml.ReaderWriter/4.0.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==",
|
||||
"path": "system.xml.readerwriter/4.0.11",
|
||||
"hashPath": "system.xml.readerwriter.4.0.11.nupkg.sha512"
|
||||
},
|
||||
"System.Xml.XDocument/4.0.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Mk2mKmPi0nWaoiYeotq1dgeNK1fqWh61+EK+w4Wu8SWuTYLzpUnschb59bJtGywaPq7SmTuPf44wrXRwbIrukg==",
|
||||
"path": "system.xml.xdocument/4.0.11",
|
||||
"hashPath": "system.xml.xdocument.4.0.11.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,823 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>JetBrains.Annotations</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:JetBrains.Annotations.CanBeNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked element could be <c>null</c> sometimes,
|
||||
so checking for <c>null</c> is required before its usage.
|
||||
</summary>
|
||||
<example><code>
|
||||
[CanBeNull] object Test() => null;
|
||||
|
||||
void UseTest() {
|
||||
var p = Test();
|
||||
var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked element can never be <c>null</c>.
|
||||
</summary>
|
||||
<example><code>
|
||||
[NotNull] object Foo() {
|
||||
return null; // Warning: Possible 'null' assignment
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ItemNotNullAttribute">
|
||||
<summary>
|
||||
Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
|
||||
and Lazy classes to indicate that the value of a collection item, of the Task.Result property
|
||||
or of the Lazy.Value property can never be null.
|
||||
</summary>
|
||||
<example><code>
|
||||
public void Foo([ItemNotNull]List<string> books)
|
||||
{
|
||||
foreach (var book in books) {
|
||||
if (book != null) // Warning: Expression is always true
|
||||
Console.WriteLine(book.ToUpper());
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ItemCanBeNullAttribute">
|
||||
<summary>
|
||||
Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
|
||||
and Lazy classes to indicate that the value of a collection item, of the Task.Result property
|
||||
or of the Lazy.Value property can be null.
|
||||
</summary>
|
||||
<example><code>
|
||||
public void Foo([ItemCanBeNull]List<string> books)
|
||||
{
|
||||
foreach (var book in books)
|
||||
{
|
||||
// Warning: Possible 'System.NullReferenceException'
|
||||
Console.WriteLine(book.ToUpper());
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method builds string by the format pattern and (optional) arguments.
|
||||
The parameter, which contains the format string, should be given in the constructor. The format string
|
||||
should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/>-like form.
|
||||
</summary>
|
||||
<example><code>
|
||||
[StringFormatMethod("message")]
|
||||
void ShowError(string message, params object[] args) { /* do something */ }
|
||||
|
||||
void Foo() {
|
||||
ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
|
||||
<param name="formatParameterName">
|
||||
Specifies which parameter of an annotated method should be treated as the format string
|
||||
</param>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StructuredMessageTemplateAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter is a message template where placeholders are to be replaced by the following arguments
|
||||
in the order in which they appear
|
||||
</summary>
|
||||
<example><code>
|
||||
void LogInfo([StructuredMessageTemplate]string message, params object[] args) { /* do something */ }
|
||||
|
||||
void Foo() {
|
||||
LogInfo("User created: {username}"); // Warning: Non-existing argument in format string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ValueProviderAttribute">
|
||||
<summary>
|
||||
Use this annotation to specify a type that contains static or const fields
|
||||
with values for the annotated property/field/parameter.
|
||||
The specified type will be used to improve completion suggestions.
|
||||
</summary>
|
||||
<example><code>
|
||||
namespace TestNamespace
|
||||
{
|
||||
public class Constants
|
||||
{
|
||||
public static int INT_CONST = 1;
|
||||
public const string STRING_CONST = "1";
|
||||
}
|
||||
|
||||
public class Class1
|
||||
{
|
||||
[ValueProvider("TestNamespace.Constants")] public int myField;
|
||||
public void Foo([ValueProvider("TestNamespace.Constants")] string str) { }
|
||||
|
||||
public void Test()
|
||||
{
|
||||
Foo(/*try completion here*/);//
|
||||
myField = /*try completion here*/
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ValueRangeAttribute">
|
||||
<summary>
|
||||
Indicates that the integral value falls into the specified interval.
|
||||
It's allowed to specify multiple non-intersecting intervals.
|
||||
Values of interval boundaries are inclusive.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo([ValueRange(0, 100)] int value) {
|
||||
if (value == -1) { // Warning: Expression is always 'false'
|
||||
...
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NonNegativeValueAttribute">
|
||||
<summary>
|
||||
Indicates that the integral value never falls below zero.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo([NonNegativeValue] int value) {
|
||||
if (value == -1) { // Warning: Expression is always 'false'
|
||||
...
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
|
||||
<summary>
|
||||
Indicates that the function argument should be a string literal and match one
|
||||
of the parameters of the caller function. For example, ReSharper annotates
|
||||
the parameter of <see cref="T:System.ArgumentNullException"/>.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo(string param) {
|
||||
if (param == null)
|
||||
throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotifyPropertyChangedInvocatorAttribute">
|
||||
<summary>
|
||||
Indicates that the method is contained in a type that implements
|
||||
<c>System.ComponentModel.INotifyPropertyChanged</c> interface and this method
|
||||
is used to notify that some property value changed.
|
||||
</summary>
|
||||
<remarks>
|
||||
The method should be non-static and conform to one of the supported signatures:
|
||||
<list>
|
||||
<item><c>NotifyChanged(string)</c></item>
|
||||
<item><c>NotifyChanged(params string[])</c></item>
|
||||
<item><c>NotifyChanged{T}(Expression{Func{T}})</c></item>
|
||||
<item><c>NotifyChanged{T,U}(Expression{Func{T,U}})</c></item>
|
||||
<item><c>SetProperty{T}(ref T, T, string)</c></item>
|
||||
</list>
|
||||
</remarks>
|
||||
<example><code>
|
||||
public class Foo : INotifyPropertyChanged {
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
[NotifyPropertyChangedInvocator]
|
||||
protected virtual void NotifyChanged(string propertyName) { ... }
|
||||
|
||||
string _name;
|
||||
|
||||
public string Name {
|
||||
get { return _name; }
|
||||
set { _name = value; NotifyChanged("LastName"); /* Warning */ }
|
||||
}
|
||||
}
|
||||
</code>
|
||||
Examples of generated notifications:
|
||||
<list>
|
||||
<item><c>NotifyChanged("Property")</c></item>
|
||||
<item><c>NotifyChanged(() => Property)</c></item>
|
||||
<item><c>NotifyChanged((VM x) => x.Property)</c></item>
|
||||
<item><c>SetProperty(ref myField, value, "Property")</c></item>
|
||||
</list>
|
||||
</example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ContractAnnotationAttribute">
|
||||
<summary>
|
||||
Describes dependency between method input and output.
|
||||
</summary>
|
||||
<syntax>
|
||||
<p>Function Definition Table syntax:</p>
|
||||
<list>
|
||||
<item>FDT ::= FDTRow [;FDTRow]*</item>
|
||||
<item>FDTRow ::= Input => Output | Output <= Input</item>
|
||||
<item>Input ::= ParameterName: Value [, Input]*</item>
|
||||
<item>Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
|
||||
<item>Value ::= true | false | null | notnull | canbenull</item>
|
||||
</list>
|
||||
If the method has a single input parameter, its name could be omitted.<br/>
|
||||
Using <c>halt</c> (or <c>void</c>/<c>nothing</c>, which is the same) for the method output
|
||||
means that the method doesn't return normally (throws or terminates the process).<br/>
|
||||
Value <c>canbenull</c> is only applicable for output parameters.<br/>
|
||||
You can use multiple <c>[ContractAnnotation]</c> for each FDT row, or use single attribute
|
||||
with rows separated by the semicolon. There is no notion of order rows, all rows are checked
|
||||
for applicability and applied per each program state tracked by the analysis engine.<br/>
|
||||
</syntax>
|
||||
<examples><list>
|
||||
<item><code>
|
||||
[ContractAnnotation("=> halt")]
|
||||
public void TerminationMethod()
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("null <= param:null")] // reverse condition syntax
|
||||
public string GetName(string surname)
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("s:null => true")]
|
||||
public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
|
||||
</code></item>
|
||||
<item><code>
|
||||
// A method that returns null if the parameter is null,
|
||||
// and not null if the parameter is not null
|
||||
[ContractAnnotation("null => null; notnull => notnull")]
|
||||
public object Transform(object data)
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("=> true, result: notnull; => false, result: null")]
|
||||
public bool TryParse(string s, out Person result)
|
||||
</code></item>
|
||||
</list></examples>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LocalizationRequiredAttribute">
|
||||
<summary>
|
||||
Indicates whether the marked element should be localized.
|
||||
</summary>
|
||||
<example><code>
|
||||
[LocalizationRequiredAttribute(true)]
|
||||
class Foo {
|
||||
string str = "my string"; // Warning: Localizable string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked type (or its derivatives)
|
||||
cannot be compared using '==' or '!=' operators and <c>Equals()</c>
|
||||
should be used instead. However, using '==' or '!=' for comparison
|
||||
with <c>null</c> is always permitted.
|
||||
</summary>
|
||||
<example><code>
|
||||
[CannotApplyEqualityOperator]
|
||||
class NoEquality { }
|
||||
|
||||
class UsesNoEquality {
|
||||
void Test() {
|
||||
var ca1 = new NoEquality();
|
||||
var ca2 = new NoEquality();
|
||||
if (ca1 != null) { // OK
|
||||
bool condition = ca1 == ca2; // Warning
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute">
|
||||
<summary>
|
||||
When applied to a target attribute, specifies a requirement for any type marked
|
||||
with the target attribute to implement or inherit specific type or types.
|
||||
</summary>
|
||||
<example><code>
|
||||
[BaseTypeRequired(typeof(IComponent)] // Specify requirement
|
||||
class ComponentAttribute : Attribute { }
|
||||
|
||||
[Component] // ComponentAttribute requires implementing IComponent interface
|
||||
class MyComponent : IComponent { }
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
|
||||
<summary>
|
||||
Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
|
||||
so this symbol will be ignored by usage-checking inspections. <br/>
|
||||
You can use <see cref="T:JetBrains.Annotations.ImplicitUseKindFlags"/> and <see cref="T:JetBrains.Annotations.ImplicitUseTargetFlags"/>
|
||||
to configure how this attribute is applied.
|
||||
</summary>
|
||||
<example><code>
|
||||
[UsedImplicitly]
|
||||
public class TypeConverter {}
|
||||
|
||||
public class SummaryData
|
||||
{
|
||||
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature)]
|
||||
public SummaryData() {}
|
||||
}
|
||||
|
||||
[UsedImplicitly(ImplicitUseTargetFlags.WithInheritors | ImplicitUseTargetFlags.Default)]
|
||||
public interface IService {}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
|
||||
<summary>
|
||||
Can be applied to attributes, type parameters, and parameters of a type assignable from <see cref="T:System.Type"/> .
|
||||
When applied to an attribute, the decorated attribute behaves the same as <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
When applied to a type parameter or to a parameter of type <see cref="T:System.Type"/>,
|
||||
indicates that the corresponding type is used implicitly.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseKindFlags">
|
||||
<summary>
|
||||
Specifies the details of implicitly used symbol when it is marked
|
||||
with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access">
|
||||
<summary>Only entity marked with attribute considered used.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign">
|
||||
<summary>Indicates implicit assignment to a member.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type with fixed constructor signature.
|
||||
That means any unused constructor parameters won't be reported as such.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature">
|
||||
<summary>Indicates implicit instantiation of a type.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseTargetFlags">
|
||||
<summary>
|
||||
Specifies what is considered to be used implicitly when marked
|
||||
with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members">
|
||||
<summary>Members of the type marked with the attribute are considered used.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithInheritors">
|
||||
<summary> Inherited entities are considered used. </summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers">
|
||||
<summary>Entity marked with the attribute and all its members considered used.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PublicAPIAttribute">
|
||||
<summary>
|
||||
This attribute is intended to mark publicly available API,
|
||||
which should not be removed and so is treated as used.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InstantHandleAttribute">
|
||||
<summary>
|
||||
Tells the code analysis engine if the parameter is completely handled when the invoked method is on stack.
|
||||
If the parameter is a delegate, indicates that delegate is executed while the method is executed.
|
||||
If the parameter is an enumerable, indicates that it is enumerated while the method is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PureAttribute">
|
||||
<summary>
|
||||
Indicates that a method does not make any observable state changes.
|
||||
The same as <c>System.Diagnostics.Contracts.PureAttribute</c>.
|
||||
</summary>
|
||||
<example><code>
|
||||
[Pure] int Multiply(int x, int y) => x * y;
|
||||
|
||||
void M() {
|
||||
Multiply(123, 42); // Warning: Return value of pure method is not used
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MustUseReturnValueAttribute">
|
||||
<summary>
|
||||
Indicates that the return value of the method invocation must be used.
|
||||
</summary>
|
||||
<remarks>
|
||||
Methods decorated with this attribute (in contrast to pure methods) might change state,
|
||||
but make no sense without using their return value. <br/>
|
||||
Similarly to <see cref="T:JetBrains.Annotations.PureAttribute"/>, this attribute
|
||||
will help to detect usages of the method when the return value is not used.
|
||||
Optionally, you can specify a message to use when showing warnings, e.g.
|
||||
<code>[MustUseReturnValue("Use the return value to...")]</code>.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RequireStaticDelegateAttribute">
|
||||
<summary>
|
||||
This annotation allows to enforce allocation-less usage patterns of delegates for performance-critical APIs.
|
||||
When this annotation is applied to the parameter of delegate type, IDE checks the input argument of this parameter:
|
||||
* When lambda expression or anonymous method is passed as an argument, IDE verifies that the passed closure
|
||||
has no captures of the containing local variables and the compiler is able to cache the delegate instance
|
||||
to avoid heap allocations. Otherwise the warning is produced.
|
||||
* IDE warns when method name or local function name is passed as an argument as this always results
|
||||
in heap allocation of the delegate instance.
|
||||
</summary>
|
||||
<remarks>
|
||||
In C# 9.0 code IDE would also suggest to annotate the anonymous function with 'static' modifier
|
||||
to make use of the similar analysis provided by the language/compiler.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ProvidesContextAttribute">
|
||||
<summary>
|
||||
Indicates the type member or parameter of some type, that should be used instead of all other ways
|
||||
to get the value of that type. This annotation is useful when you have some "context" value evaluated
|
||||
and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one.
|
||||
</summary>
|
||||
<example><code>
|
||||
class Foo {
|
||||
[ProvidesContext] IBarService _barService = ...;
|
||||
|
||||
void ProcessNode(INode node) {
|
||||
DoSomething(node, node.GetGlobalServices().Bar);
|
||||
// ^ Warning: use value of '_barService' field
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PathReferenceAttribute">
|
||||
<summary>
|
||||
Indicates that a parameter is a path to a file or a folder within a web project.
|
||||
Path can be relative or absolute, starting from web root (~).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.SourceTemplateAttribute">
|
||||
<summary>
|
||||
An extension method marked with this attribute is processed by code completion
|
||||
as a 'Source Template'. When the extension method is completed over some expression, its source code
|
||||
is automatically expanded like a template at call site.
|
||||
</summary>
|
||||
<remarks>
|
||||
Template method body can contain valid source code and/or special comments starting with '$'.
|
||||
Text inside these comments is added as source code when the template is applied. Template parameters
|
||||
can be used either as additional method parameters or as identifiers wrapped in two '$' signs.
|
||||
Use the <see cref="T:JetBrains.Annotations.MacroAttribute"/> attribute to specify macros for parameters.
|
||||
</remarks>
|
||||
<example>
|
||||
In this example, the 'forEach' method is a source template available over all values
|
||||
of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block:
|
||||
<code>
|
||||
[SourceTemplate]
|
||||
public static void forEach<T>(this IEnumerable<T> xs) {
|
||||
foreach (var x in xs) {
|
||||
//$ $END$
|
||||
}
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MacroAttribute">
|
||||
<summary>
|
||||
Allows specifying a macro for a parameter of a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see>.
|
||||
</summary>
|
||||
<remarks>
|
||||
You can apply the attribute on the whole method or on any of its additional parameters. The macro expression
|
||||
is defined in the <see cref="P:JetBrains.Annotations.MacroAttribute.Expression"/> property. When applied on a method, the target
|
||||
template parameter is defined in the <see cref="P:JetBrains.Annotations.MacroAttribute.Target"/> property. To apply the macro silently
|
||||
for the parameter, set the <see cref="P:JetBrains.Annotations.MacroAttribute.Editable"/> property value = -1.
|
||||
</remarks>
|
||||
<example>
|
||||
Applying the attribute on a source template method:
|
||||
<code>
|
||||
[SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
|
||||
public static void forEach<T>(this IEnumerable<T> collection) {
|
||||
foreach (var item in collection) {
|
||||
//$ $END$
|
||||
}
|
||||
}
|
||||
</code>
|
||||
Applying the attribute on a template method parameter:
|
||||
<code>
|
||||
[SourceTemplate]
|
||||
public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
|
||||
/*$ var $x$Id = "$newguid$" + x.ToString();
|
||||
x.DoSomething($x$Id); */
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Expression">
|
||||
<summary>
|
||||
Allows specifying a macro that will be executed for a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see>
|
||||
parameter when the template is expanded.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Editable">
|
||||
<summary>
|
||||
Allows specifying which occurrence of the target parameter becomes editable when the template is deployed.
|
||||
</summary>
|
||||
<remarks>
|
||||
If the target parameter is used several times in the template, only one occurrence becomes editable;
|
||||
other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence,
|
||||
use values >= 0. To make the parameter non-editable when the template is expanded, use -1.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Target">
|
||||
<summary>
|
||||
Identifies the target parameter of a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see> if the
|
||||
<see cref="T:JetBrains.Annotations.MacroAttribute"/> is applied on a template method.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcActionAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC action. If applied to a method, the MVC action name is calculated
|
||||
implicitly from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcAreaAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC area.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcControllerAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is
|
||||
an MVC controller. If applied to a method, the MVC controller name is calculated
|
||||
implicitly from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcMasterAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC Master. Use this attribute
|
||||
for custom wrappers similar to <c>System.Web.Mvc.Controller.View(String, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcModelTypeAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC model type. Use this attribute
|
||||
for custom wrappers similar to <c>System.Web.Mvc.Controller.View(String, Object)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcPartialViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC
|
||||
partial view. If applied to a method, the MVC partial view name is calculated implicitly
|
||||
from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcSuppressViewErrorAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcDisplayTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that a parameter is an MVC display template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcEditorTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC editor template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.ComponentModel.DataAnnotations.UIHintAttribute(System.String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component. If applied to a method, the MVC view name is calculated implicitly
|
||||
from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Controller.View(Object)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewComponentAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewComponentViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component view. If applied to a method, the MVC view component view name is default.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcActionSelectorAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. When applied to a parameter of an attribute,
|
||||
indicates that this parameter is an MVC action name.
|
||||
</summary>
|
||||
<example><code>
|
||||
[ActionName("Foo")]
|
||||
public ActionResult Login(string returnUrl) {
|
||||
ViewBag.ReturnUrl = Url.Action("Foo"); // OK
|
||||
return RedirectToAction("Bar"); // Error: Cannot resolve action
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RazorSectionAttribute">
|
||||
<summary>
|
||||
Razor attribute. Indicates that the marked parameter or method is a Razor section.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.WebPages.WebPageBase.RenderSection(String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CollectionAccessAttribute">
|
||||
<summary>
|
||||
Indicates how method, constructor invocation, or property access
|
||||
over collection type affects the contents of the collection.
|
||||
Use <see cref="P:JetBrains.Annotations.CollectionAccessAttribute.CollectionAccessType"/> to specify the access type.
|
||||
</summary>
|
||||
<remarks>
|
||||
Using this attribute only makes sense if all collection methods are marked with this attribute.
|
||||
</remarks>
|
||||
<example><code>
|
||||
public class MyStringCollection : List<string>
|
||||
{
|
||||
[CollectionAccess(CollectionAccessType.Read)]
|
||||
public string GetFirstString()
|
||||
{
|
||||
return this.ElementAt(0);
|
||||
}
|
||||
}
|
||||
class Test
|
||||
{
|
||||
public void Foo()
|
||||
{
|
||||
// Warning: Contents of the collection is never updated
|
||||
var col = new MyStringCollection();
|
||||
string x = col.GetFirstString();
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CollectionAccessType">
|
||||
<summary>
|
||||
Provides a value for the <see cref="T:JetBrains.Annotations.CollectionAccessAttribute"/> to define
|
||||
how the collection method invocation affects the contents of the collection.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.None">
|
||||
<summary>Method does not use or modify content of the collection.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.Read">
|
||||
<summary>Method only reads content of the collection but does not modify it.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.ModifyExistingContent">
|
||||
<summary>Method can change content of the collection but does not add new elements.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.UpdatedContent">
|
||||
<summary>Method can add new elements to the collection.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method is assertion method, i.e. it halts the control flow if
|
||||
one of the conditions is satisfied. To set the condition, mark one of the parameters with
|
||||
<see cref="T:JetBrains.Annotations.AssertionConditionAttribute"/> attribute.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionAttribute">
|
||||
<summary>
|
||||
Indicates the condition parameter of the assertion method. The method itself should be
|
||||
marked by <see cref="T:JetBrains.Annotations.AssertionMethodAttribute"/> attribute. The mandatory argument of
|
||||
the attribute is the assertion type.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionType">
|
||||
<summary>
|
||||
Specifies assertion type. If the assertion method argument satisfies the condition,
|
||||
then the execution continues. Otherwise, execution is assumed to be halted.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_TRUE">
|
||||
<summary>Marked parameter should be evaluated to true.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_FALSE">
|
||||
<summary>Marked parameter should be evaluated to false.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NULL">
|
||||
<summary>Marked parameter should be evaluated to null value.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NOT_NULL">
|
||||
<summary>Marked parameter should be evaluated to not null value.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.TerminatesProgramAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method unconditionally terminates control flow execution.
|
||||
For example, it could unconditionally throw exception.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LinqTunnelAttribute">
|
||||
<summary>
|
||||
Indicates that the method is a pure LINQ method, with postponed enumeration (like Enumerable.Select,
|
||||
.Where). This annotation allows inference of [InstantHandle] annotation for parameters
|
||||
of delegate type by analyzing LINQ method chains.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoEnumerationAttribute">
|
||||
<summary>
|
||||
Indicates that IEnumerable passed as a parameter is not enumerated.
|
||||
Use this annotation to suppress the 'Possible multiple enumeration of IEnumerable' inspection.
|
||||
</summary>
|
||||
<example><code>
|
||||
static void ThrowIfNull<T>([NoEnumeration] T v, string n) where T : class
|
||||
{
|
||||
// custom check for null but no enumeration
|
||||
}
|
||||
|
||||
void Foo(IEnumerable<string> values)
|
||||
{
|
||||
ThrowIfNull(values, nameof(values));
|
||||
var x = values.ToList(); // No warnings about multiple enumeration
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RegexPatternAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is a regular expression pattern.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoReorderAttribute">
|
||||
<summary>
|
||||
Prevents the Member Reordering feature from tossing members of the marked class.
|
||||
</summary>
|
||||
<remarks>
|
||||
The attribute must be mentioned in your member reordering patterns.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the type that has <c>ItemsSource</c> property and should be treated
|
||||
as <c>ItemsControl</c>-derived type, to enable inner items <c>DataContext</c> type resolve.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemBindingOfItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the property of some <c>BindingBase</c>-derived type, that
|
||||
is used to bind some item of <c>ItemsControl</c>-derived type. This annotation will
|
||||
enable the <c>DataContext</c> type resolve for XAML bindings for such properties.
|
||||
</summary>
|
||||
<remarks>
|
||||
Property should have the tree ancestor of the <c>ItemsControl</c> type or
|
||||
marked with the <see cref="T:JetBrains.Annotations.XamlItemsControlAttribute"/> attribute.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemStyleOfItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the property of some <c>Style</c>-derived type, that
|
||||
is used to style items of <c>ItemsControl</c>-derived type. This annotation will
|
||||
enable the <c>DataContext</c> type resolve for XAML bindings for such properties.
|
||||
</summary>
|
||||
<remarks>
|
||||
Property should have the tree ancestor of the <c>ItemsControl</c> type or
|
||||
marked with the <see cref="T:JetBrains.Annotations.XamlItemsControlAttribute"/> attribute.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlOneWayBindingModeByDefaultAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates that DependencyProperty has <c>OneWay</c> binding mode by default.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute must be applied to DependencyProperty's CLR accessor property if it is present, to DependencyProperty descriptor field otherwise.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlTwoWayBindingModeByDefaultAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates that DependencyProperty has <c>TwoWay</c> binding mode by default.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute must be applied to DependencyProperty's CLR accessor property if it is present, to DependencyProperty descriptor field otherwise.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RouteTemplateAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is a route template.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute allows IDE to recognize the use of web frameworks' route templates
|
||||
to enable syntax highlighting, code completion, navigation, rename and other features in string literals.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RouteParameterConstraintAttribute">
|
||||
<summary>
|
||||
Indicates that the marked type is custom route parameter constraint,
|
||||
which is registered in application's Startup with name <c>ConstraintName</c>
|
||||
</summary>
|
||||
<remarks>
|
||||
You can specify <c>ProposedType</c> if target constraint matches only route parameters of specific type,
|
||||
it will allow IDE to create method's parameter from usage in route template
|
||||
with specified type instead of default <c>System.String</c>
|
||||
and check if constraint's proposed type conflicts with matched parameter's type
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UriStringAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is an URI string.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute enables code completion, navigation, rename and other features
|
||||
in URI string literals assigned to annotated parameter, field or property.
|
||||
</remarks>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETStandard,Version=v2.0/",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETStandard,Version=v2.0": {},
|
||||
".NETStandard,Version=v2.0/": {
|
||||
"JetBrains.Annotations/2021.2": {
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "2.0.3"
|
||||
},
|
||||
"runtime": {
|
||||
"JetBrains.Annotations.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.NETCore.Platforms/1.1.0": {},
|
||||
"NETStandard.Library/2.0.3": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"JetBrains.Annotations/2021.2": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Microsoft.NETCore.Platforms/1.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
|
||||
"path": "microsoft.netcore.platforms/1.1.0",
|
||||
"hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
|
||||
},
|
||||
"NETStandard.Library/2.0.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
|
||||
"path": "netstandard.library/2.0.3",
|
||||
"hashPath": "netstandard.library.2.0.3.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,823 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>JetBrains.Annotations</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:JetBrains.Annotations.CanBeNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked element could be <c>null</c> sometimes,
|
||||
so checking for <c>null</c> is required before its usage.
|
||||
</summary>
|
||||
<example><code>
|
||||
[CanBeNull] object Test() => null;
|
||||
|
||||
void UseTest() {
|
||||
var p = Test();
|
||||
var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked element can never be <c>null</c>.
|
||||
</summary>
|
||||
<example><code>
|
||||
[NotNull] object Foo() {
|
||||
return null; // Warning: Possible 'null' assignment
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ItemNotNullAttribute">
|
||||
<summary>
|
||||
Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
|
||||
and Lazy classes to indicate that the value of a collection item, of the Task.Result property
|
||||
or of the Lazy.Value property can never be null.
|
||||
</summary>
|
||||
<example><code>
|
||||
public void Foo([ItemNotNull]List<string> books)
|
||||
{
|
||||
foreach (var book in books) {
|
||||
if (book != null) // Warning: Expression is always true
|
||||
Console.WriteLine(book.ToUpper());
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ItemCanBeNullAttribute">
|
||||
<summary>
|
||||
Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
|
||||
and Lazy classes to indicate that the value of a collection item, of the Task.Result property
|
||||
or of the Lazy.Value property can be null.
|
||||
</summary>
|
||||
<example><code>
|
||||
public void Foo([ItemCanBeNull]List<string> books)
|
||||
{
|
||||
foreach (var book in books)
|
||||
{
|
||||
// Warning: Possible 'System.NullReferenceException'
|
||||
Console.WriteLine(book.ToUpper());
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method builds string by the format pattern and (optional) arguments.
|
||||
The parameter, which contains the format string, should be given in the constructor. The format string
|
||||
should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/>-like form.
|
||||
</summary>
|
||||
<example><code>
|
||||
[StringFormatMethod("message")]
|
||||
void ShowError(string message, params object[] args) { /* do something */ }
|
||||
|
||||
void Foo() {
|
||||
ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
|
||||
<param name="formatParameterName">
|
||||
Specifies which parameter of an annotated method should be treated as the format string
|
||||
</param>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StructuredMessageTemplateAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter is a message template where placeholders are to be replaced by the following arguments
|
||||
in the order in which they appear
|
||||
</summary>
|
||||
<example><code>
|
||||
void LogInfo([StructuredMessageTemplate]string message, params object[] args) { /* do something */ }
|
||||
|
||||
void Foo() {
|
||||
LogInfo("User created: {username}"); // Warning: Non-existing argument in format string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ValueProviderAttribute">
|
||||
<summary>
|
||||
Use this annotation to specify a type that contains static or const fields
|
||||
with values for the annotated property/field/parameter.
|
||||
The specified type will be used to improve completion suggestions.
|
||||
</summary>
|
||||
<example><code>
|
||||
namespace TestNamespace
|
||||
{
|
||||
public class Constants
|
||||
{
|
||||
public static int INT_CONST = 1;
|
||||
public const string STRING_CONST = "1";
|
||||
}
|
||||
|
||||
public class Class1
|
||||
{
|
||||
[ValueProvider("TestNamespace.Constants")] public int myField;
|
||||
public void Foo([ValueProvider("TestNamespace.Constants")] string str) { }
|
||||
|
||||
public void Test()
|
||||
{
|
||||
Foo(/*try completion here*/);//
|
||||
myField = /*try completion here*/
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ValueRangeAttribute">
|
||||
<summary>
|
||||
Indicates that the integral value falls into the specified interval.
|
||||
It's allowed to specify multiple non-intersecting intervals.
|
||||
Values of interval boundaries are inclusive.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo([ValueRange(0, 100)] int value) {
|
||||
if (value == -1) { // Warning: Expression is always 'false'
|
||||
...
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NonNegativeValueAttribute">
|
||||
<summary>
|
||||
Indicates that the integral value never falls below zero.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo([NonNegativeValue] int value) {
|
||||
if (value == -1) { // Warning: Expression is always 'false'
|
||||
...
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
|
||||
<summary>
|
||||
Indicates that the function argument should be a string literal and match one
|
||||
of the parameters of the caller function. For example, ReSharper annotates
|
||||
the parameter of <see cref="T:System.ArgumentNullException"/>.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo(string param) {
|
||||
if (param == null)
|
||||
throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotifyPropertyChangedInvocatorAttribute">
|
||||
<summary>
|
||||
Indicates that the method is contained in a type that implements
|
||||
<c>System.ComponentModel.INotifyPropertyChanged</c> interface and this method
|
||||
is used to notify that some property value changed.
|
||||
</summary>
|
||||
<remarks>
|
||||
The method should be non-static and conform to one of the supported signatures:
|
||||
<list>
|
||||
<item><c>NotifyChanged(string)</c></item>
|
||||
<item><c>NotifyChanged(params string[])</c></item>
|
||||
<item><c>NotifyChanged{T}(Expression{Func{T}})</c></item>
|
||||
<item><c>NotifyChanged{T,U}(Expression{Func{T,U}})</c></item>
|
||||
<item><c>SetProperty{T}(ref T, T, string)</c></item>
|
||||
</list>
|
||||
</remarks>
|
||||
<example><code>
|
||||
public class Foo : INotifyPropertyChanged {
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
[NotifyPropertyChangedInvocator]
|
||||
protected virtual void NotifyChanged(string propertyName) { ... }
|
||||
|
||||
string _name;
|
||||
|
||||
public string Name {
|
||||
get { return _name; }
|
||||
set { _name = value; NotifyChanged("LastName"); /* Warning */ }
|
||||
}
|
||||
}
|
||||
</code>
|
||||
Examples of generated notifications:
|
||||
<list>
|
||||
<item><c>NotifyChanged("Property")</c></item>
|
||||
<item><c>NotifyChanged(() => Property)</c></item>
|
||||
<item><c>NotifyChanged((VM x) => x.Property)</c></item>
|
||||
<item><c>SetProperty(ref myField, value, "Property")</c></item>
|
||||
</list>
|
||||
</example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ContractAnnotationAttribute">
|
||||
<summary>
|
||||
Describes dependency between method input and output.
|
||||
</summary>
|
||||
<syntax>
|
||||
<p>Function Definition Table syntax:</p>
|
||||
<list>
|
||||
<item>FDT ::= FDTRow [;FDTRow]*</item>
|
||||
<item>FDTRow ::= Input => Output | Output <= Input</item>
|
||||
<item>Input ::= ParameterName: Value [, Input]*</item>
|
||||
<item>Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
|
||||
<item>Value ::= true | false | null | notnull | canbenull</item>
|
||||
</list>
|
||||
If the method has a single input parameter, its name could be omitted.<br/>
|
||||
Using <c>halt</c> (or <c>void</c>/<c>nothing</c>, which is the same) for the method output
|
||||
means that the method doesn't return normally (throws or terminates the process).<br/>
|
||||
Value <c>canbenull</c> is only applicable for output parameters.<br/>
|
||||
You can use multiple <c>[ContractAnnotation]</c> for each FDT row, or use single attribute
|
||||
with rows separated by the semicolon. There is no notion of order rows, all rows are checked
|
||||
for applicability and applied per each program state tracked by the analysis engine.<br/>
|
||||
</syntax>
|
||||
<examples><list>
|
||||
<item><code>
|
||||
[ContractAnnotation("=> halt")]
|
||||
public void TerminationMethod()
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("null <= param:null")] // reverse condition syntax
|
||||
public string GetName(string surname)
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("s:null => true")]
|
||||
public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
|
||||
</code></item>
|
||||
<item><code>
|
||||
// A method that returns null if the parameter is null,
|
||||
// and not null if the parameter is not null
|
||||
[ContractAnnotation("null => null; notnull => notnull")]
|
||||
public object Transform(object data)
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("=> true, result: notnull; => false, result: null")]
|
||||
public bool TryParse(string s, out Person result)
|
||||
</code></item>
|
||||
</list></examples>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LocalizationRequiredAttribute">
|
||||
<summary>
|
||||
Indicates whether the marked element should be localized.
|
||||
</summary>
|
||||
<example><code>
|
||||
[LocalizationRequiredAttribute(true)]
|
||||
class Foo {
|
||||
string str = "my string"; // Warning: Localizable string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked type (or its derivatives)
|
||||
cannot be compared using '==' or '!=' operators and <c>Equals()</c>
|
||||
should be used instead. However, using '==' or '!=' for comparison
|
||||
with <c>null</c> is always permitted.
|
||||
</summary>
|
||||
<example><code>
|
||||
[CannotApplyEqualityOperator]
|
||||
class NoEquality { }
|
||||
|
||||
class UsesNoEquality {
|
||||
void Test() {
|
||||
var ca1 = new NoEquality();
|
||||
var ca2 = new NoEquality();
|
||||
if (ca1 != null) { // OK
|
||||
bool condition = ca1 == ca2; // Warning
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute">
|
||||
<summary>
|
||||
When applied to a target attribute, specifies a requirement for any type marked
|
||||
with the target attribute to implement or inherit specific type or types.
|
||||
</summary>
|
||||
<example><code>
|
||||
[BaseTypeRequired(typeof(IComponent)] // Specify requirement
|
||||
class ComponentAttribute : Attribute { }
|
||||
|
||||
[Component] // ComponentAttribute requires implementing IComponent interface
|
||||
class MyComponent : IComponent { }
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
|
||||
<summary>
|
||||
Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
|
||||
so this symbol will be ignored by usage-checking inspections. <br/>
|
||||
You can use <see cref="T:JetBrains.Annotations.ImplicitUseKindFlags"/> and <see cref="T:JetBrains.Annotations.ImplicitUseTargetFlags"/>
|
||||
to configure how this attribute is applied.
|
||||
</summary>
|
||||
<example><code>
|
||||
[UsedImplicitly]
|
||||
public class TypeConverter {}
|
||||
|
||||
public class SummaryData
|
||||
{
|
||||
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature)]
|
||||
public SummaryData() {}
|
||||
}
|
||||
|
||||
[UsedImplicitly(ImplicitUseTargetFlags.WithInheritors | ImplicitUseTargetFlags.Default)]
|
||||
public interface IService {}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
|
||||
<summary>
|
||||
Can be applied to attributes, type parameters, and parameters of a type assignable from <see cref="T:System.Type"/> .
|
||||
When applied to an attribute, the decorated attribute behaves the same as <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
When applied to a type parameter or to a parameter of type <see cref="T:System.Type"/>,
|
||||
indicates that the corresponding type is used implicitly.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseKindFlags">
|
||||
<summary>
|
||||
Specifies the details of implicitly used symbol when it is marked
|
||||
with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access">
|
||||
<summary>Only entity marked with attribute considered used.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign">
|
||||
<summary>Indicates implicit assignment to a member.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type with fixed constructor signature.
|
||||
That means any unused constructor parameters won't be reported as such.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature">
|
||||
<summary>Indicates implicit instantiation of a type.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseTargetFlags">
|
||||
<summary>
|
||||
Specifies what is considered to be used implicitly when marked
|
||||
with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members">
|
||||
<summary>Members of the type marked with the attribute are considered used.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithInheritors">
|
||||
<summary> Inherited entities are considered used. </summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers">
|
||||
<summary>Entity marked with the attribute and all its members considered used.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PublicAPIAttribute">
|
||||
<summary>
|
||||
This attribute is intended to mark publicly available API,
|
||||
which should not be removed and so is treated as used.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InstantHandleAttribute">
|
||||
<summary>
|
||||
Tells the code analysis engine if the parameter is completely handled when the invoked method is on stack.
|
||||
If the parameter is a delegate, indicates that delegate is executed while the method is executed.
|
||||
If the parameter is an enumerable, indicates that it is enumerated while the method is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PureAttribute">
|
||||
<summary>
|
||||
Indicates that a method does not make any observable state changes.
|
||||
The same as <c>System.Diagnostics.Contracts.PureAttribute</c>.
|
||||
</summary>
|
||||
<example><code>
|
||||
[Pure] int Multiply(int x, int y) => x * y;
|
||||
|
||||
void M() {
|
||||
Multiply(123, 42); // Warning: Return value of pure method is not used
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MustUseReturnValueAttribute">
|
||||
<summary>
|
||||
Indicates that the return value of the method invocation must be used.
|
||||
</summary>
|
||||
<remarks>
|
||||
Methods decorated with this attribute (in contrast to pure methods) might change state,
|
||||
but make no sense without using their return value. <br/>
|
||||
Similarly to <see cref="T:JetBrains.Annotations.PureAttribute"/>, this attribute
|
||||
will help to detect usages of the method when the return value is not used.
|
||||
Optionally, you can specify a message to use when showing warnings, e.g.
|
||||
<code>[MustUseReturnValue("Use the return value to...")]</code>.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RequireStaticDelegateAttribute">
|
||||
<summary>
|
||||
This annotation allows to enforce allocation-less usage patterns of delegates for performance-critical APIs.
|
||||
When this annotation is applied to the parameter of delegate type, IDE checks the input argument of this parameter:
|
||||
* When lambda expression or anonymous method is passed as an argument, IDE verifies that the passed closure
|
||||
has no captures of the containing local variables and the compiler is able to cache the delegate instance
|
||||
to avoid heap allocations. Otherwise the warning is produced.
|
||||
* IDE warns when method name or local function name is passed as an argument as this always results
|
||||
in heap allocation of the delegate instance.
|
||||
</summary>
|
||||
<remarks>
|
||||
In C# 9.0 code IDE would also suggest to annotate the anonymous function with 'static' modifier
|
||||
to make use of the similar analysis provided by the language/compiler.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ProvidesContextAttribute">
|
||||
<summary>
|
||||
Indicates the type member or parameter of some type, that should be used instead of all other ways
|
||||
to get the value of that type. This annotation is useful when you have some "context" value evaluated
|
||||
and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one.
|
||||
</summary>
|
||||
<example><code>
|
||||
class Foo {
|
||||
[ProvidesContext] IBarService _barService = ...;
|
||||
|
||||
void ProcessNode(INode node) {
|
||||
DoSomething(node, node.GetGlobalServices().Bar);
|
||||
// ^ Warning: use value of '_barService' field
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PathReferenceAttribute">
|
||||
<summary>
|
||||
Indicates that a parameter is a path to a file or a folder within a web project.
|
||||
Path can be relative or absolute, starting from web root (~).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.SourceTemplateAttribute">
|
||||
<summary>
|
||||
An extension method marked with this attribute is processed by code completion
|
||||
as a 'Source Template'. When the extension method is completed over some expression, its source code
|
||||
is automatically expanded like a template at call site.
|
||||
</summary>
|
||||
<remarks>
|
||||
Template method body can contain valid source code and/or special comments starting with '$'.
|
||||
Text inside these comments is added as source code when the template is applied. Template parameters
|
||||
can be used either as additional method parameters or as identifiers wrapped in two '$' signs.
|
||||
Use the <see cref="T:JetBrains.Annotations.MacroAttribute"/> attribute to specify macros for parameters.
|
||||
</remarks>
|
||||
<example>
|
||||
In this example, the 'forEach' method is a source template available over all values
|
||||
of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block:
|
||||
<code>
|
||||
[SourceTemplate]
|
||||
public static void forEach<T>(this IEnumerable<T> xs) {
|
||||
foreach (var x in xs) {
|
||||
//$ $END$
|
||||
}
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MacroAttribute">
|
||||
<summary>
|
||||
Allows specifying a macro for a parameter of a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see>.
|
||||
</summary>
|
||||
<remarks>
|
||||
You can apply the attribute on the whole method or on any of its additional parameters. The macro expression
|
||||
is defined in the <see cref="P:JetBrains.Annotations.MacroAttribute.Expression"/> property. When applied on a method, the target
|
||||
template parameter is defined in the <see cref="P:JetBrains.Annotations.MacroAttribute.Target"/> property. To apply the macro silently
|
||||
for the parameter, set the <see cref="P:JetBrains.Annotations.MacroAttribute.Editable"/> property value = -1.
|
||||
</remarks>
|
||||
<example>
|
||||
Applying the attribute on a source template method:
|
||||
<code>
|
||||
[SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
|
||||
public static void forEach<T>(this IEnumerable<T> collection) {
|
||||
foreach (var item in collection) {
|
||||
//$ $END$
|
||||
}
|
||||
}
|
||||
</code>
|
||||
Applying the attribute on a template method parameter:
|
||||
<code>
|
||||
[SourceTemplate]
|
||||
public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
|
||||
/*$ var $x$Id = "$newguid$" + x.ToString();
|
||||
x.DoSomething($x$Id); */
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Expression">
|
||||
<summary>
|
||||
Allows specifying a macro that will be executed for a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see>
|
||||
parameter when the template is expanded.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Editable">
|
||||
<summary>
|
||||
Allows specifying which occurrence of the target parameter becomes editable when the template is deployed.
|
||||
</summary>
|
||||
<remarks>
|
||||
If the target parameter is used several times in the template, only one occurrence becomes editable;
|
||||
other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence,
|
||||
use values >= 0. To make the parameter non-editable when the template is expanded, use -1.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Target">
|
||||
<summary>
|
||||
Identifies the target parameter of a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see> if the
|
||||
<see cref="T:JetBrains.Annotations.MacroAttribute"/> is applied on a template method.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcActionAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC action. If applied to a method, the MVC action name is calculated
|
||||
implicitly from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcAreaAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC area.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcControllerAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is
|
||||
an MVC controller. If applied to a method, the MVC controller name is calculated
|
||||
implicitly from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcMasterAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC Master. Use this attribute
|
||||
for custom wrappers similar to <c>System.Web.Mvc.Controller.View(String, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcModelTypeAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC model type. Use this attribute
|
||||
for custom wrappers similar to <c>System.Web.Mvc.Controller.View(String, Object)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcPartialViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC
|
||||
partial view. If applied to a method, the MVC partial view name is calculated implicitly
|
||||
from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcSuppressViewErrorAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcDisplayTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that a parameter is an MVC display template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcEditorTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC editor template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.ComponentModel.DataAnnotations.UIHintAttribute(System.String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component. If applied to a method, the MVC view name is calculated implicitly
|
||||
from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Controller.View(Object)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewComponentAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewComponentViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component view. If applied to a method, the MVC view component view name is default.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcActionSelectorAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. When applied to a parameter of an attribute,
|
||||
indicates that this parameter is an MVC action name.
|
||||
</summary>
|
||||
<example><code>
|
||||
[ActionName("Foo")]
|
||||
public ActionResult Login(string returnUrl) {
|
||||
ViewBag.ReturnUrl = Url.Action("Foo"); // OK
|
||||
return RedirectToAction("Bar"); // Error: Cannot resolve action
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RazorSectionAttribute">
|
||||
<summary>
|
||||
Razor attribute. Indicates that the marked parameter or method is a Razor section.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.WebPages.WebPageBase.RenderSection(String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CollectionAccessAttribute">
|
||||
<summary>
|
||||
Indicates how method, constructor invocation, or property access
|
||||
over collection type affects the contents of the collection.
|
||||
Use <see cref="P:JetBrains.Annotations.CollectionAccessAttribute.CollectionAccessType"/> to specify the access type.
|
||||
</summary>
|
||||
<remarks>
|
||||
Using this attribute only makes sense if all collection methods are marked with this attribute.
|
||||
</remarks>
|
||||
<example><code>
|
||||
public class MyStringCollection : List<string>
|
||||
{
|
||||
[CollectionAccess(CollectionAccessType.Read)]
|
||||
public string GetFirstString()
|
||||
{
|
||||
return this.ElementAt(0);
|
||||
}
|
||||
}
|
||||
class Test
|
||||
{
|
||||
public void Foo()
|
||||
{
|
||||
// Warning: Contents of the collection is never updated
|
||||
var col = new MyStringCollection();
|
||||
string x = col.GetFirstString();
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CollectionAccessType">
|
||||
<summary>
|
||||
Provides a value for the <see cref="T:JetBrains.Annotations.CollectionAccessAttribute"/> to define
|
||||
how the collection method invocation affects the contents of the collection.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.None">
|
||||
<summary>Method does not use or modify content of the collection.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.Read">
|
||||
<summary>Method only reads content of the collection but does not modify it.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.ModifyExistingContent">
|
||||
<summary>Method can change content of the collection but does not add new elements.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.UpdatedContent">
|
||||
<summary>Method can add new elements to the collection.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method is assertion method, i.e. it halts the control flow if
|
||||
one of the conditions is satisfied. To set the condition, mark one of the parameters with
|
||||
<see cref="T:JetBrains.Annotations.AssertionConditionAttribute"/> attribute.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionAttribute">
|
||||
<summary>
|
||||
Indicates the condition parameter of the assertion method. The method itself should be
|
||||
marked by <see cref="T:JetBrains.Annotations.AssertionMethodAttribute"/> attribute. The mandatory argument of
|
||||
the attribute is the assertion type.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionType">
|
||||
<summary>
|
||||
Specifies assertion type. If the assertion method argument satisfies the condition,
|
||||
then the execution continues. Otherwise, execution is assumed to be halted.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_TRUE">
|
||||
<summary>Marked parameter should be evaluated to true.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_FALSE">
|
||||
<summary>Marked parameter should be evaluated to false.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NULL">
|
||||
<summary>Marked parameter should be evaluated to null value.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NOT_NULL">
|
||||
<summary>Marked parameter should be evaluated to not null value.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.TerminatesProgramAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method unconditionally terminates control flow execution.
|
||||
For example, it could unconditionally throw exception.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LinqTunnelAttribute">
|
||||
<summary>
|
||||
Indicates that the method is a pure LINQ method, with postponed enumeration (like Enumerable.Select,
|
||||
.Where). This annotation allows inference of [InstantHandle] annotation for parameters
|
||||
of delegate type by analyzing LINQ method chains.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoEnumerationAttribute">
|
||||
<summary>
|
||||
Indicates that IEnumerable passed as a parameter is not enumerated.
|
||||
Use this annotation to suppress the 'Possible multiple enumeration of IEnumerable' inspection.
|
||||
</summary>
|
||||
<example><code>
|
||||
static void ThrowIfNull<T>([NoEnumeration] T v, string n) where T : class
|
||||
{
|
||||
// custom check for null but no enumeration
|
||||
}
|
||||
|
||||
void Foo(IEnumerable<string> values)
|
||||
{
|
||||
ThrowIfNull(values, nameof(values));
|
||||
var x = values.ToList(); // No warnings about multiple enumeration
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RegexPatternAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is a regular expression pattern.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoReorderAttribute">
|
||||
<summary>
|
||||
Prevents the Member Reordering feature from tossing members of the marked class.
|
||||
</summary>
|
||||
<remarks>
|
||||
The attribute must be mentioned in your member reordering patterns.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the type that has <c>ItemsSource</c> property and should be treated
|
||||
as <c>ItemsControl</c>-derived type, to enable inner items <c>DataContext</c> type resolve.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemBindingOfItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the property of some <c>BindingBase</c>-derived type, that
|
||||
is used to bind some item of <c>ItemsControl</c>-derived type. This annotation will
|
||||
enable the <c>DataContext</c> type resolve for XAML bindings for such properties.
|
||||
</summary>
|
||||
<remarks>
|
||||
Property should have the tree ancestor of the <c>ItemsControl</c> type or
|
||||
marked with the <see cref="T:JetBrains.Annotations.XamlItemsControlAttribute"/> attribute.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemStyleOfItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the property of some <c>Style</c>-derived type, that
|
||||
is used to style items of <c>ItemsControl</c>-derived type. This annotation will
|
||||
enable the <c>DataContext</c> type resolve for XAML bindings for such properties.
|
||||
</summary>
|
||||
<remarks>
|
||||
Property should have the tree ancestor of the <c>ItemsControl</c> type or
|
||||
marked with the <see cref="T:JetBrains.Annotations.XamlItemsControlAttribute"/> attribute.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlOneWayBindingModeByDefaultAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates that DependencyProperty has <c>OneWay</c> binding mode by default.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute must be applied to DependencyProperty's CLR accessor property if it is present, to DependencyProperty descriptor field otherwise.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlTwoWayBindingModeByDefaultAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates that DependencyProperty has <c>TwoWay</c> binding mode by default.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute must be applied to DependencyProperty's CLR accessor property if it is present, to DependencyProperty descriptor field otherwise.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RouteTemplateAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is a route template.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute allows IDE to recognize the use of web frameworks' route templates
|
||||
to enable syntax highlighting, code completion, navigation, rename and other features in string literals.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RouteParameterConstraintAttribute">
|
||||
<summary>
|
||||
Indicates that the marked type is custom route parameter constraint,
|
||||
which is registered in application's Startup with name <c>ConstraintName</c>
|
||||
</summary>
|
||||
<remarks>
|
||||
You can specify <c>ProposedType</c> if target constraint matches only route parameters of specific type,
|
||||
it will allow IDE to create method's parameter from usage in route template
|
||||
with specified type instead of default <c>System.String</c>
|
||||
and check if constraint's proposed type conflicts with matched parameter's type
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UriStringAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is an URI string.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute enables code completion, navigation, rename and other features
|
||||
in URI string literals assigned to annotated parameter, field or property.
|
||||
</remarks>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
@@ -0,0 +1,823 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>JetBrains.Annotations</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:JetBrains.Annotations.CanBeNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked element could be <c>null</c> sometimes,
|
||||
so checking for <c>null</c> is required before its usage.
|
||||
</summary>
|
||||
<example><code>
|
||||
[CanBeNull] object Test() => null;
|
||||
|
||||
void UseTest() {
|
||||
var p = Test();
|
||||
var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotNullAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked element can never be <c>null</c>.
|
||||
</summary>
|
||||
<example><code>
|
||||
[NotNull] object Foo() {
|
||||
return null; // Warning: Possible 'null' assignment
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ItemNotNullAttribute">
|
||||
<summary>
|
||||
Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
|
||||
and Lazy classes to indicate that the value of a collection item, of the Task.Result property
|
||||
or of the Lazy.Value property can never be null.
|
||||
</summary>
|
||||
<example><code>
|
||||
public void Foo([ItemNotNull]List<string> books)
|
||||
{
|
||||
foreach (var book in books) {
|
||||
if (book != null) // Warning: Expression is always true
|
||||
Console.WriteLine(book.ToUpper());
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ItemCanBeNullAttribute">
|
||||
<summary>
|
||||
Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
|
||||
and Lazy classes to indicate that the value of a collection item, of the Task.Result property
|
||||
or of the Lazy.Value property can be null.
|
||||
</summary>
|
||||
<example><code>
|
||||
public void Foo([ItemCanBeNull]List<string> books)
|
||||
{
|
||||
foreach (var book in books)
|
||||
{
|
||||
// Warning: Possible 'System.NullReferenceException'
|
||||
Console.WriteLine(book.ToUpper());
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method builds string by the format pattern and (optional) arguments.
|
||||
The parameter, which contains the format string, should be given in the constructor. The format string
|
||||
should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/>-like form.
|
||||
</summary>
|
||||
<example><code>
|
||||
[StringFormatMethod("message")]
|
||||
void ShowError(string message, params object[] args) { /* do something */ }
|
||||
|
||||
void Foo() {
|
||||
ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
|
||||
<param name="formatParameterName">
|
||||
Specifies which parameter of an annotated method should be treated as the format string
|
||||
</param>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.StructuredMessageTemplateAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter is a message template where placeholders are to be replaced by the following arguments
|
||||
in the order in which they appear
|
||||
</summary>
|
||||
<example><code>
|
||||
void LogInfo([StructuredMessageTemplate]string message, params object[] args) { /* do something */ }
|
||||
|
||||
void Foo() {
|
||||
LogInfo("User created: {username}"); // Warning: Non-existing argument in format string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ValueProviderAttribute">
|
||||
<summary>
|
||||
Use this annotation to specify a type that contains static or const fields
|
||||
with values for the annotated property/field/parameter.
|
||||
The specified type will be used to improve completion suggestions.
|
||||
</summary>
|
||||
<example><code>
|
||||
namespace TestNamespace
|
||||
{
|
||||
public class Constants
|
||||
{
|
||||
public static int INT_CONST = 1;
|
||||
public const string STRING_CONST = "1";
|
||||
}
|
||||
|
||||
public class Class1
|
||||
{
|
||||
[ValueProvider("TestNamespace.Constants")] public int myField;
|
||||
public void Foo([ValueProvider("TestNamespace.Constants")] string str) { }
|
||||
|
||||
public void Test()
|
||||
{
|
||||
Foo(/*try completion here*/);//
|
||||
myField = /*try completion here*/
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ValueRangeAttribute">
|
||||
<summary>
|
||||
Indicates that the integral value falls into the specified interval.
|
||||
It's allowed to specify multiple non-intersecting intervals.
|
||||
Values of interval boundaries are inclusive.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo([ValueRange(0, 100)] int value) {
|
||||
if (value == -1) { // Warning: Expression is always 'false'
|
||||
...
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NonNegativeValueAttribute">
|
||||
<summary>
|
||||
Indicates that the integral value never falls below zero.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo([NonNegativeValue] int value) {
|
||||
if (value == -1) { // Warning: Expression is always 'false'
|
||||
...
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
|
||||
<summary>
|
||||
Indicates that the function argument should be a string literal and match one
|
||||
of the parameters of the caller function. For example, ReSharper annotates
|
||||
the parameter of <see cref="T:System.ArgumentNullException"/>.
|
||||
</summary>
|
||||
<example><code>
|
||||
void Foo(string param) {
|
||||
if (param == null)
|
||||
throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NotifyPropertyChangedInvocatorAttribute">
|
||||
<summary>
|
||||
Indicates that the method is contained in a type that implements
|
||||
<c>System.ComponentModel.INotifyPropertyChanged</c> interface and this method
|
||||
is used to notify that some property value changed.
|
||||
</summary>
|
||||
<remarks>
|
||||
The method should be non-static and conform to one of the supported signatures:
|
||||
<list>
|
||||
<item><c>NotifyChanged(string)</c></item>
|
||||
<item><c>NotifyChanged(params string[])</c></item>
|
||||
<item><c>NotifyChanged{T}(Expression{Func{T}})</c></item>
|
||||
<item><c>NotifyChanged{T,U}(Expression{Func{T,U}})</c></item>
|
||||
<item><c>SetProperty{T}(ref T, T, string)</c></item>
|
||||
</list>
|
||||
</remarks>
|
||||
<example><code>
|
||||
public class Foo : INotifyPropertyChanged {
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
[NotifyPropertyChangedInvocator]
|
||||
protected virtual void NotifyChanged(string propertyName) { ... }
|
||||
|
||||
string _name;
|
||||
|
||||
public string Name {
|
||||
get { return _name; }
|
||||
set { _name = value; NotifyChanged("LastName"); /* Warning */ }
|
||||
}
|
||||
}
|
||||
</code>
|
||||
Examples of generated notifications:
|
||||
<list>
|
||||
<item><c>NotifyChanged("Property")</c></item>
|
||||
<item><c>NotifyChanged(() => Property)</c></item>
|
||||
<item><c>NotifyChanged((VM x) => x.Property)</c></item>
|
||||
<item><c>SetProperty(ref myField, value, "Property")</c></item>
|
||||
</list>
|
||||
</example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ContractAnnotationAttribute">
|
||||
<summary>
|
||||
Describes dependency between method input and output.
|
||||
</summary>
|
||||
<syntax>
|
||||
<p>Function Definition Table syntax:</p>
|
||||
<list>
|
||||
<item>FDT ::= FDTRow [;FDTRow]*</item>
|
||||
<item>FDTRow ::= Input => Output | Output <= Input</item>
|
||||
<item>Input ::= ParameterName: Value [, Input]*</item>
|
||||
<item>Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
|
||||
<item>Value ::= true | false | null | notnull | canbenull</item>
|
||||
</list>
|
||||
If the method has a single input parameter, its name could be omitted.<br/>
|
||||
Using <c>halt</c> (or <c>void</c>/<c>nothing</c>, which is the same) for the method output
|
||||
means that the method doesn't return normally (throws or terminates the process).<br/>
|
||||
Value <c>canbenull</c> is only applicable for output parameters.<br/>
|
||||
You can use multiple <c>[ContractAnnotation]</c> for each FDT row, or use single attribute
|
||||
with rows separated by the semicolon. There is no notion of order rows, all rows are checked
|
||||
for applicability and applied per each program state tracked by the analysis engine.<br/>
|
||||
</syntax>
|
||||
<examples><list>
|
||||
<item><code>
|
||||
[ContractAnnotation("=> halt")]
|
||||
public void TerminationMethod()
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("null <= param:null")] // reverse condition syntax
|
||||
public string GetName(string surname)
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("s:null => true")]
|
||||
public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
|
||||
</code></item>
|
||||
<item><code>
|
||||
// A method that returns null if the parameter is null,
|
||||
// and not null if the parameter is not null
|
||||
[ContractAnnotation("null => null; notnull => notnull")]
|
||||
public object Transform(object data)
|
||||
</code></item>
|
||||
<item><code>
|
||||
[ContractAnnotation("=> true, result: notnull; => false, result: null")]
|
||||
public bool TryParse(string s, out Person result)
|
||||
</code></item>
|
||||
</list></examples>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LocalizationRequiredAttribute">
|
||||
<summary>
|
||||
Indicates whether the marked element should be localized.
|
||||
</summary>
|
||||
<example><code>
|
||||
[LocalizationRequiredAttribute(true)]
|
||||
class Foo {
|
||||
string str = "my string"; // Warning: Localizable string
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute">
|
||||
<summary>
|
||||
Indicates that the value of the marked type (or its derivatives)
|
||||
cannot be compared using '==' or '!=' operators and <c>Equals()</c>
|
||||
should be used instead. However, using '==' or '!=' for comparison
|
||||
with <c>null</c> is always permitted.
|
||||
</summary>
|
||||
<example><code>
|
||||
[CannotApplyEqualityOperator]
|
||||
class NoEquality { }
|
||||
|
||||
class UsesNoEquality {
|
||||
void Test() {
|
||||
var ca1 = new NoEquality();
|
||||
var ca2 = new NoEquality();
|
||||
if (ca1 != null) { // OK
|
||||
bool condition = ca1 == ca2; // Warning
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute">
|
||||
<summary>
|
||||
When applied to a target attribute, specifies a requirement for any type marked
|
||||
with the target attribute to implement or inherit specific type or types.
|
||||
</summary>
|
||||
<example><code>
|
||||
[BaseTypeRequired(typeof(IComponent)] // Specify requirement
|
||||
class ComponentAttribute : Attribute { }
|
||||
|
||||
[Component] // ComponentAttribute requires implementing IComponent interface
|
||||
class MyComponent : IComponent { }
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
|
||||
<summary>
|
||||
Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
|
||||
so this symbol will be ignored by usage-checking inspections. <br/>
|
||||
You can use <see cref="T:JetBrains.Annotations.ImplicitUseKindFlags"/> and <see cref="T:JetBrains.Annotations.ImplicitUseTargetFlags"/>
|
||||
to configure how this attribute is applied.
|
||||
</summary>
|
||||
<example><code>
|
||||
[UsedImplicitly]
|
||||
public class TypeConverter {}
|
||||
|
||||
public class SummaryData
|
||||
{
|
||||
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature)]
|
||||
public SummaryData() {}
|
||||
}
|
||||
|
||||
[UsedImplicitly(ImplicitUseTargetFlags.WithInheritors | ImplicitUseTargetFlags.Default)]
|
||||
public interface IService {}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
|
||||
<summary>
|
||||
Can be applied to attributes, type parameters, and parameters of a type assignable from <see cref="T:System.Type"/> .
|
||||
When applied to an attribute, the decorated attribute behaves the same as <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
When applied to a type parameter or to a parameter of type <see cref="T:System.Type"/>,
|
||||
indicates that the corresponding type is used implicitly.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseKindFlags">
|
||||
<summary>
|
||||
Specifies the details of implicitly used symbol when it is marked
|
||||
with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access">
|
||||
<summary>Only entity marked with attribute considered used.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign">
|
||||
<summary>Indicates implicit assignment to a member.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature">
|
||||
<summary>
|
||||
Indicates implicit instantiation of a type with fixed constructor signature.
|
||||
That means any unused constructor parameters won't be reported as such.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature">
|
||||
<summary>Indicates implicit instantiation of a type.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ImplicitUseTargetFlags">
|
||||
<summary>
|
||||
Specifies what is considered to be used implicitly when marked
|
||||
with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members">
|
||||
<summary>Members of the type marked with the attribute are considered used.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithInheritors">
|
||||
<summary> Inherited entities are considered used. </summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers">
|
||||
<summary>Entity marked with the attribute and all its members considered used.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PublicAPIAttribute">
|
||||
<summary>
|
||||
This attribute is intended to mark publicly available API,
|
||||
which should not be removed and so is treated as used.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.InstantHandleAttribute">
|
||||
<summary>
|
||||
Tells the code analysis engine if the parameter is completely handled when the invoked method is on stack.
|
||||
If the parameter is a delegate, indicates that delegate is executed while the method is executed.
|
||||
If the parameter is an enumerable, indicates that it is enumerated while the method is executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PureAttribute">
|
||||
<summary>
|
||||
Indicates that a method does not make any observable state changes.
|
||||
The same as <c>System.Diagnostics.Contracts.PureAttribute</c>.
|
||||
</summary>
|
||||
<example><code>
|
||||
[Pure] int Multiply(int x, int y) => x * y;
|
||||
|
||||
void M() {
|
||||
Multiply(123, 42); // Warning: Return value of pure method is not used
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MustUseReturnValueAttribute">
|
||||
<summary>
|
||||
Indicates that the return value of the method invocation must be used.
|
||||
</summary>
|
||||
<remarks>
|
||||
Methods decorated with this attribute (in contrast to pure methods) might change state,
|
||||
but make no sense without using their return value. <br/>
|
||||
Similarly to <see cref="T:JetBrains.Annotations.PureAttribute"/>, this attribute
|
||||
will help to detect usages of the method when the return value is not used.
|
||||
Optionally, you can specify a message to use when showing warnings, e.g.
|
||||
<code>[MustUseReturnValue("Use the return value to...")]</code>.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RequireStaticDelegateAttribute">
|
||||
<summary>
|
||||
This annotation allows to enforce allocation-less usage patterns of delegates for performance-critical APIs.
|
||||
When this annotation is applied to the parameter of delegate type, IDE checks the input argument of this parameter:
|
||||
* When lambda expression or anonymous method is passed as an argument, IDE verifies that the passed closure
|
||||
has no captures of the containing local variables and the compiler is able to cache the delegate instance
|
||||
to avoid heap allocations. Otherwise the warning is produced.
|
||||
* IDE warns when method name or local function name is passed as an argument as this always results
|
||||
in heap allocation of the delegate instance.
|
||||
</summary>
|
||||
<remarks>
|
||||
In C# 9.0 code IDE would also suggest to annotate the anonymous function with 'static' modifier
|
||||
to make use of the similar analysis provided by the language/compiler.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.ProvidesContextAttribute">
|
||||
<summary>
|
||||
Indicates the type member or parameter of some type, that should be used instead of all other ways
|
||||
to get the value of that type. This annotation is useful when you have some "context" value evaluated
|
||||
and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one.
|
||||
</summary>
|
||||
<example><code>
|
||||
class Foo {
|
||||
[ProvidesContext] IBarService _barService = ...;
|
||||
|
||||
void ProcessNode(INode node) {
|
||||
DoSomething(node, node.GetGlobalServices().Bar);
|
||||
// ^ Warning: use value of '_barService' field
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.PathReferenceAttribute">
|
||||
<summary>
|
||||
Indicates that a parameter is a path to a file or a folder within a web project.
|
||||
Path can be relative or absolute, starting from web root (~).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.SourceTemplateAttribute">
|
||||
<summary>
|
||||
An extension method marked with this attribute is processed by code completion
|
||||
as a 'Source Template'. When the extension method is completed over some expression, its source code
|
||||
is automatically expanded like a template at call site.
|
||||
</summary>
|
||||
<remarks>
|
||||
Template method body can contain valid source code and/or special comments starting with '$'.
|
||||
Text inside these comments is added as source code when the template is applied. Template parameters
|
||||
can be used either as additional method parameters or as identifiers wrapped in two '$' signs.
|
||||
Use the <see cref="T:JetBrains.Annotations.MacroAttribute"/> attribute to specify macros for parameters.
|
||||
</remarks>
|
||||
<example>
|
||||
In this example, the 'forEach' method is a source template available over all values
|
||||
of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block:
|
||||
<code>
|
||||
[SourceTemplate]
|
||||
public static void forEach<T>(this IEnumerable<T> xs) {
|
||||
foreach (var x in xs) {
|
||||
//$ $END$
|
||||
}
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.MacroAttribute">
|
||||
<summary>
|
||||
Allows specifying a macro for a parameter of a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see>.
|
||||
</summary>
|
||||
<remarks>
|
||||
You can apply the attribute on the whole method or on any of its additional parameters. The macro expression
|
||||
is defined in the <see cref="P:JetBrains.Annotations.MacroAttribute.Expression"/> property. When applied on a method, the target
|
||||
template parameter is defined in the <see cref="P:JetBrains.Annotations.MacroAttribute.Target"/> property. To apply the macro silently
|
||||
for the parameter, set the <see cref="P:JetBrains.Annotations.MacroAttribute.Editable"/> property value = -1.
|
||||
</remarks>
|
||||
<example>
|
||||
Applying the attribute on a source template method:
|
||||
<code>
|
||||
[SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
|
||||
public static void forEach<T>(this IEnumerable<T> collection) {
|
||||
foreach (var item in collection) {
|
||||
//$ $END$
|
||||
}
|
||||
}
|
||||
</code>
|
||||
Applying the attribute on a template method parameter:
|
||||
<code>
|
||||
[SourceTemplate]
|
||||
public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
|
||||
/*$ var $x$Id = "$newguid$" + x.ToString();
|
||||
x.DoSomething($x$Id); */
|
||||
}
|
||||
</code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Expression">
|
||||
<summary>
|
||||
Allows specifying a macro that will be executed for a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see>
|
||||
parameter when the template is expanded.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Editable">
|
||||
<summary>
|
||||
Allows specifying which occurrence of the target parameter becomes editable when the template is deployed.
|
||||
</summary>
|
||||
<remarks>
|
||||
If the target parameter is used several times in the template, only one occurrence becomes editable;
|
||||
other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence,
|
||||
use values >= 0. To make the parameter non-editable when the template is expanded, use -1.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:JetBrains.Annotations.MacroAttribute.Target">
|
||||
<summary>
|
||||
Identifies the target parameter of a <see cref="T:JetBrains.Annotations.SourceTemplateAttribute">source template</see> if the
|
||||
<see cref="T:JetBrains.Annotations.MacroAttribute"/> is applied on a template method.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcActionAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC action. If applied to a method, the MVC action name is calculated
|
||||
implicitly from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcAreaAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC area.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcControllerAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is
|
||||
an MVC controller. If applied to a method, the MVC controller name is calculated
|
||||
implicitly from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcMasterAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC Master. Use this attribute
|
||||
for custom wrappers similar to <c>System.Web.Mvc.Controller.View(String, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcModelTypeAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC model type. Use this attribute
|
||||
for custom wrappers similar to <c>System.Web.Mvc.Controller.View(String, Object)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcPartialViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC
|
||||
partial view. If applied to a method, the MVC partial view name is calculated implicitly
|
||||
from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcSuppressViewErrorAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcDisplayTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that a parameter is an MVC display template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcEditorTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC editor template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcTemplateAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. Indicates that the marked parameter is an MVC template.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.ComponentModel.DataAnnotations.UIHintAttribute(System.String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component. If applied to a method, the MVC view name is calculated implicitly
|
||||
from the context. Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.Mvc.Controller.View(Object)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewComponentAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcViewComponentViewAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
|
||||
is an MVC view component view. If applied to a method, the MVC view component view name is default.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AspMvcActionSelectorAttribute">
|
||||
<summary>
|
||||
ASP.NET MVC attribute. When applied to a parameter of an attribute,
|
||||
indicates that this parameter is an MVC action name.
|
||||
</summary>
|
||||
<example><code>
|
||||
[ActionName("Foo")]
|
||||
public ActionResult Login(string returnUrl) {
|
||||
ViewBag.ReturnUrl = Url.Action("Foo"); // OK
|
||||
return RedirectToAction("Bar"); // Error: Cannot resolve action
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RazorSectionAttribute">
|
||||
<summary>
|
||||
Razor attribute. Indicates that the marked parameter or method is a Razor section.
|
||||
Use this attribute for custom wrappers similar to
|
||||
<c>System.Web.WebPages.WebPageBase.RenderSection(String)</c>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CollectionAccessAttribute">
|
||||
<summary>
|
||||
Indicates how method, constructor invocation, or property access
|
||||
over collection type affects the contents of the collection.
|
||||
Use <see cref="P:JetBrains.Annotations.CollectionAccessAttribute.CollectionAccessType"/> to specify the access type.
|
||||
</summary>
|
||||
<remarks>
|
||||
Using this attribute only makes sense if all collection methods are marked with this attribute.
|
||||
</remarks>
|
||||
<example><code>
|
||||
public class MyStringCollection : List<string>
|
||||
{
|
||||
[CollectionAccess(CollectionAccessType.Read)]
|
||||
public string GetFirstString()
|
||||
{
|
||||
return this.ElementAt(0);
|
||||
}
|
||||
}
|
||||
class Test
|
||||
{
|
||||
public void Foo()
|
||||
{
|
||||
// Warning: Contents of the collection is never updated
|
||||
var col = new MyStringCollection();
|
||||
string x = col.GetFirstString();
|
||||
}
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.CollectionAccessType">
|
||||
<summary>
|
||||
Provides a value for the <see cref="T:JetBrains.Annotations.CollectionAccessAttribute"/> to define
|
||||
how the collection method invocation affects the contents of the collection.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.None">
|
||||
<summary>Method does not use or modify content of the collection.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.Read">
|
||||
<summary>Method only reads content of the collection but does not modify it.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.ModifyExistingContent">
|
||||
<summary>Method can change content of the collection but does not add new elements.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.CollectionAccessType.UpdatedContent">
|
||||
<summary>Method can add new elements to the collection.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionMethodAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method is assertion method, i.e. it halts the control flow if
|
||||
one of the conditions is satisfied. To set the condition, mark one of the parameters with
|
||||
<see cref="T:JetBrains.Annotations.AssertionConditionAttribute"/> attribute.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionAttribute">
|
||||
<summary>
|
||||
Indicates the condition parameter of the assertion method. The method itself should be
|
||||
marked by <see cref="T:JetBrains.Annotations.AssertionMethodAttribute"/> attribute. The mandatory argument of
|
||||
the attribute is the assertion type.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.AssertionConditionType">
|
||||
<summary>
|
||||
Specifies assertion type. If the assertion method argument satisfies the condition,
|
||||
then the execution continues. Otherwise, execution is assumed to be halted.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_TRUE">
|
||||
<summary>Marked parameter should be evaluated to true.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_FALSE">
|
||||
<summary>Marked parameter should be evaluated to false.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NULL">
|
||||
<summary>Marked parameter should be evaluated to null value.</summary>
|
||||
</member>
|
||||
<member name="F:JetBrains.Annotations.AssertionConditionType.IS_NOT_NULL">
|
||||
<summary>Marked parameter should be evaluated to not null value.</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.TerminatesProgramAttribute">
|
||||
<summary>
|
||||
Indicates that the marked method unconditionally terminates control flow execution.
|
||||
For example, it could unconditionally throw exception.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.LinqTunnelAttribute">
|
||||
<summary>
|
||||
Indicates that the method is a pure LINQ method, with postponed enumeration (like Enumerable.Select,
|
||||
.Where). This annotation allows inference of [InstantHandle] annotation for parameters
|
||||
of delegate type by analyzing LINQ method chains.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoEnumerationAttribute">
|
||||
<summary>
|
||||
Indicates that IEnumerable passed as a parameter is not enumerated.
|
||||
Use this annotation to suppress the 'Possible multiple enumeration of IEnumerable' inspection.
|
||||
</summary>
|
||||
<example><code>
|
||||
static void ThrowIfNull<T>([NoEnumeration] T v, string n) where T : class
|
||||
{
|
||||
// custom check for null but no enumeration
|
||||
}
|
||||
|
||||
void Foo(IEnumerable<string> values)
|
||||
{
|
||||
ThrowIfNull(values, nameof(values));
|
||||
var x = values.ToList(); // No warnings about multiple enumeration
|
||||
}
|
||||
</code></example>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RegexPatternAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is a regular expression pattern.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.NoReorderAttribute">
|
||||
<summary>
|
||||
Prevents the Member Reordering feature from tossing members of the marked class.
|
||||
</summary>
|
||||
<remarks>
|
||||
The attribute must be mentioned in your member reordering patterns.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the type that has <c>ItemsSource</c> property and should be treated
|
||||
as <c>ItemsControl</c>-derived type, to enable inner items <c>DataContext</c> type resolve.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemBindingOfItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the property of some <c>BindingBase</c>-derived type, that
|
||||
is used to bind some item of <c>ItemsControl</c>-derived type. This annotation will
|
||||
enable the <c>DataContext</c> type resolve for XAML bindings for such properties.
|
||||
</summary>
|
||||
<remarks>
|
||||
Property should have the tree ancestor of the <c>ItemsControl</c> type or
|
||||
marked with the <see cref="T:JetBrains.Annotations.XamlItemsControlAttribute"/> attribute.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlItemStyleOfItemsControlAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates the property of some <c>Style</c>-derived type, that
|
||||
is used to style items of <c>ItemsControl</c>-derived type. This annotation will
|
||||
enable the <c>DataContext</c> type resolve for XAML bindings for such properties.
|
||||
</summary>
|
||||
<remarks>
|
||||
Property should have the tree ancestor of the <c>ItemsControl</c> type or
|
||||
marked with the <see cref="T:JetBrains.Annotations.XamlItemsControlAttribute"/> attribute.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlOneWayBindingModeByDefaultAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates that DependencyProperty has <c>OneWay</c> binding mode by default.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute must be applied to DependencyProperty's CLR accessor property if it is present, to DependencyProperty descriptor field otherwise.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.XamlTwoWayBindingModeByDefaultAttribute">
|
||||
<summary>
|
||||
XAML attribute. Indicates that DependencyProperty has <c>TwoWay</c> binding mode by default.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute must be applied to DependencyProperty's CLR accessor property if it is present, to DependencyProperty descriptor field otherwise.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RouteTemplateAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is a route template.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute allows IDE to recognize the use of web frameworks' route templates
|
||||
to enable syntax highlighting, code completion, navigation, rename and other features in string literals.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.RouteParameterConstraintAttribute">
|
||||
<summary>
|
||||
Indicates that the marked type is custom route parameter constraint,
|
||||
which is registered in application's Startup with name <c>ConstraintName</c>
|
||||
</summary>
|
||||
<remarks>
|
||||
You can specify <c>ProposedType</c> if target constraint matches only route parameters of specific type,
|
||||
it will allow IDE to create method's parameter from usage in route template
|
||||
with specified type instead of default <c>System.String</c>
|
||||
and check if constraint's proposed type conflicts with matched parameter's type
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:JetBrains.Annotations.UriStringAttribute">
|
||||
<summary>
|
||||
Indicates that the marked parameter, field, or property is an URI string.
|
||||
</summary>
|
||||
<remarks>
|
||||
This attribute enables code completion, navigation, rename and other features
|
||||
in URI string literals assigned to annotated parameter, field or property.
|
||||
</remarks>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
5
local-nugets/json.more.net/1.8.0/.nupkg.metadata
Normal file
5
local-nugets/json.more.net/1.8.0/.nupkg.metadata
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 2,
|
||||
"contentHash": "JWxlYwCSYXZIWezmrvRgaxhI/vEEpQlZVm6/lskuS7p/uPrNJzQxbe2CPjzkF3UUz4RI8WkmObs6ycpxoE9T7w==",
|
||||
"source": "https://api.nuget.org/v3/index.json"
|
||||
}
|
||||
BIN
local-nugets/json.more.net/1.8.0/.signature.p7s
Normal file
BIN
local-nugets/json.more.net/1.8.0/.signature.p7s
Normal file
Binary file not shown.
21
local-nugets/json.more.net/1.8.0/Json.More.Net.nuspec
Normal file
21
local-nugets/json.more.net/1.8.0/Json.More.Net.nuspec
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Json.More.Net</id>
|
||||
<version>1.8.0</version>
|
||||
<authors>Greg Dennis</authors>
|
||||
<license type="file">LICENSE</license>
|
||||
<licenseUrl>https://aka.ms/deprecateLicenseUrl</licenseUrl>
|
||||
<icon>json-logo-256.png</icon>
|
||||
<projectUrl>https://github.com/gregsdennis/json-everything</projectUrl>
|
||||
<description>Provides extended functionality for the System.Text.Json namespace.</description>
|
||||
<releaseNotes>Release notes can be found on [GitHub](https://github.com/gregsdennis/json-everything/blob/master/json-everything.net/wwwroot/md/release-notes/json-more.md) and https://json-everything.net/json-more</releaseNotes>
|
||||
<tags>json system.text.json json.more</tags>
|
||||
<repository type="git" url="https://github.com/gregsdennis/json-everything" commit="487b7398ff5cf47d894cd693645a9a61bc0359c8" />
|
||||
<dependencies>
|
||||
<group targetFramework=".NETStandard2.0">
|
||||
<dependency id="System.Text.Json" version="6.0.2" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
21
local-nugets/json.more.net/1.8.0/LICENSE
Normal file
21
local-nugets/json.more.net/1.8.0/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 Greg Dennis
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
BIN
local-nugets/json.more.net/1.8.0/json-logo-256.png
Normal file
BIN
local-nugets/json.more.net/1.8.0/json-logo-256.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
local-nugets/json.more.net/1.8.0/json.more.net.1.8.0.nupkg
Normal file
BIN
local-nugets/json.more.net/1.8.0/json.more.net.1.8.0.nupkg
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
2mKdoLpi93pC7IYaoFxb//PopX3i+xrqtgbp0mfbMRl5WdjiPBoa8cY8irAI87NJNCjFOgbF2POSjTnILYRSYg==
|
||||
@@ -0,0 +1,495 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Json.More</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<!-- Badly formed XML comment ignored for member "T:Json.More.EnumStringConverter`1" -->
|
||||
<member name="M:Json.More.EnumStringConverter`1.Read(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>Reads and converts the JSON to type <typeparamref name="T" />.</summary>
|
||||
<param name="reader">The reader.</param>
|
||||
<param name="typeToConvert">The type to convert.</param>
|
||||
<param name="options">An object that specifies serialization options to use.</param>
|
||||
<returns>The converted value.</returns>
|
||||
<exception cref="T:System.Text.Json.JsonException">Element was not a string or could not identify the JSON value as a known enum value.</exception>
|
||||
</member>
|
||||
<member name="M:Json.More.EnumStringConverter`1.ReadAsPropertyName(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>Reads a dictionary key from a JSON property name.</summary>
|
||||
<param name="reader">The <see cref="T:System.Text.Json.Utf8JsonReader" /> to read from.</param>
|
||||
<param name="typeToConvert">The type to convert.</param>
|
||||
<param name="options">The options to use when reading the value.</param>
|
||||
<returns>The value that was converted.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.EnumStringConverter`1.Write(System.Text.Json.Utf8JsonWriter,`0,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>Writes a specified value as JSON.</summary>
|
||||
<param name="writer">The writer to write to.</param>
|
||||
<param name="value">The value to convert to JSON.</param>
|
||||
<param name="options">An object that specifies serialization options to use.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.EnumStringConverter`1.WriteAsPropertyName(System.Text.Json.Utf8JsonWriter,`0,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>Writes a dictionary key as a JSON property name.</summary>
|
||||
<param name="writer">The <see cref="T:System.Text.Json.Utf8JsonWriter" /> to write to.</param>
|
||||
<param name="value">The value to convert. The value of <see cref="P:System.Text.Json.Serialization.JsonConverter`1.HandleNull" /> determines if the converter handles <see langword="null" /> values.</param>
|
||||
<param name="options">The options to use when writing the value.</param>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonDocumentEqualityComparer">
|
||||
<summary>
|
||||
Calculates equality between two <see cref="T:System.Text.Json.JsonDocument"/>s.
|
||||
</summary>
|
||||
<remarks>
|
||||
This comparison is compliant with the ideals expressed by JSON:
|
||||
|
||||
- Objects are unordered.
|
||||
- Arrays are ordered.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Json.More.JsonDocumentEqualityComparer.Instance">
|
||||
<summary>
|
||||
A singleton instance for convenience.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonDocumentEqualityComparer.Equals(System.Text.Json.JsonDocument,System.Text.Json.JsonDocument)">
|
||||
<summary>Determines whether the specified objects are equal.</summary>
|
||||
<param name="x">The first object of type T to compare.</param>
|
||||
<param name="y">The second object of type T to compare.</param>
|
||||
<returns>true if the specified objects are equal; otherwise, false.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonDocumentEqualityComparer.GetHashCode(System.Text.Json.JsonDocument)">
|
||||
<summary>Returns a hash code for the specified object.</summary>
|
||||
<param name="obj">The <see cref="T:System.Object"></see> for which a hash code is to be returned.</param>
|
||||
<returns>A hash code for the specified object.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">The type of <paramref name="obj">obj</paramref> is a reference type and <paramref name="obj">obj</paramref> is null.</exception>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonDocumentExtensions">
|
||||
<summary>
|
||||
Provides extension functionality for <see cref="T:System.Text.Json.JsonDocument"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonDocumentExtensions.IsEquivalentTo(System.Text.Json.JsonDocument,System.Text.Json.JsonDocument)">
|
||||
<summary>
|
||||
Determines JSON-compatible equivalence.
|
||||
</summary>
|
||||
<param name="a">The first document.</param>
|
||||
<param name="b">The second document.</param>
|
||||
<returns>`true` if the documents are equivalent; `false` otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonDocumentExtensions.ToJsonDocument``1(``0,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>
|
||||
Converts an object to a <see cref="T:System.Text.Json.JsonDocument"/>.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the object.</typeparam>
|
||||
<param name="value">The value to convert.</param>
|
||||
<param name="options">(optional) JSON serialization options.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonDocument"/> representing the vale.</returns>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonElementEqualityComparer">
|
||||
<summary>
|
||||
Calculates equality between two <see cref="T:System.Text.Json.JsonElement"/>s.
|
||||
</summary>
|
||||
<remarks>
|
||||
This comparison is compliant with the ideals expressed by JSON:
|
||||
|
||||
- Objects are unordered.
|
||||
- Arrays are ordered.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Json.More.JsonElementEqualityComparer.Instance">
|
||||
<summary>
|
||||
A singleton instance for convenience.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementEqualityComparer.Equals(System.Text.Json.JsonElement,System.Text.Json.JsonElement)">
|
||||
<summary>Determines whether the specified objects are equal.</summary>
|
||||
<param name="x">The first object of type T to compare.</param>
|
||||
<param name="y">The second object of type T to compare.</param>
|
||||
<returns>true if the specified objects are equal; otherwise, false.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementEqualityComparer.GetHashCode(System.Text.Json.JsonElement)">
|
||||
<summary>Returns a hash code for the specified object.</summary>
|
||||
<param name="obj">The <see cref="T:System.Object"></see> for which a hash code is to be returned.</param>
|
||||
<returns>A hash code for the specified object.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">The type of <paramref name="obj">obj</paramref> is a reference type and <paramref name="obj">obj</paramref> is null.</exception>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonElementExtensions">
|
||||
<summary>
|
||||
Provides extension functionality for <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.IsEquivalentTo(System.Text.Json.JsonElement,System.Text.Json.JsonElement)">
|
||||
<summary>
|
||||
Determines JSON-compatible equivalence.
|
||||
</summary>
|
||||
<param name="a">The first element.</param>
|
||||
<param name="b">The second element.</param>
|
||||
<returns>`true` if the element are equivalent; `false` otherwise.</returns>
|
||||
<exception cref="T:System.ArgumentOutOfRangeException">The <see cref="P:System.Text.Json.JsonElement.ValueKind"/> is not valid.</exception>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.GetEquivalenceHashCode(System.Text.Json.JsonElement,System.Int32)">
|
||||
<summary>
|
||||
Generate a consistent JSON-value-based hash code for the element.
|
||||
</summary>
|
||||
<param name="element">The element.</param>
|
||||
<param name="maxHashDepth">Maximum depth to calculate. Default is -1 which utilizes the entire structure without limitation.</param>
|
||||
<returns>The hash code.</returns>
|
||||
<remarks>
|
||||
See the following for discussion on why the default implementation is insufficient:
|
||||
|
||||
- https://github.com/gregsdennis/json-everything/issues/76
|
||||
- https://github.com/dotnet/runtime/issues/33388
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.ToJsonString(System.Text.Json.JsonElement)">
|
||||
<summary>
|
||||
Just a shortcut for calling `JsonSerializer.Serialize()` because `.ToString()` doesn't do what you might expect.
|
||||
</summary>
|
||||
<param name="element">The value to convert.</param>
|
||||
<returns>A JSON string.</returns>
|
||||
<remarks>
|
||||
See https://github.com/dotnet/runtime/issues/42502
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Int64)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Int32)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Int16)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Boolean)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Decimal)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Double)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Double"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Single)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Single"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.String)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.String"/> to a <see cref="T:System.Text.Json.JsonElement"/>. Can also be used to get a `null` element.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Collections.Generic.IEnumerable{System.Text.Json.JsonElement})">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="values">The array of values to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Collections.Generic.IDictionary{System.String,System.Text.Json.JsonElement})">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="values">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsNode(System.Text.Json.JsonElement)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Text.Json.JsonElement"/> to a <see cref="T:System.Text.Json.Nodes.JsonNode"/>.
|
||||
</summary>
|
||||
<param name="element">The element.</param>
|
||||
<returns>An equivalent node.</returns>
|
||||
<remarks>
|
||||
This provides a single point of conversion as one is not provided by .Net.
|
||||
See https://github.com/dotnet/runtime/issues/70427 for more information.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Acts as an intermediary that allows an "implicit casting"-like behavior between
|
||||
native JSON types and <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Int32)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `int` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Int64)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `long` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Int16)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `short` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Single)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `float` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Double)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `double` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Decimal)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `decimal` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.String)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `string` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Boolean)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `bool` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(Json.More.JsonElementProxy)~System.Text.Json.JsonElement">
|
||||
<summary>
|
||||
Converts a <see cref="T:Json.More.JsonElementProxy"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="proxy">The proxy.</param>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonNodeEqualityComparer">
|
||||
<summary>
|
||||
Calculates equality between two <see cref="T:System.Text.Json.JsonElement"/>s.
|
||||
</summary>
|
||||
<remarks>
|
||||
This comparison is compliant with the ideals expressed by JSON:
|
||||
|
||||
- Objects are unordered.
|
||||
- Arrays are ordered.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Json.More.JsonNodeEqualityComparer.Instance">
|
||||
<summary>
|
||||
A singleton instance for convenience.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeEqualityComparer.Equals(System.Text.Json.Nodes.JsonNode,System.Text.Json.Nodes.JsonNode)">
|
||||
<summary>Determines whether the specified objects are equal.</summary>
|
||||
<param name="x">The first object of type T to compare.</param>
|
||||
<param name="y">The second object of type T to compare.</param>
|
||||
<returns>true if the specified objects are equal; otherwise, false.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeEqualityComparer.GetHashCode(System.Text.Json.Nodes.JsonNode)">
|
||||
<summary>Returns a hash code for the specified object.</summary>
|
||||
<param name="obj">The <see cref="T:System.Object"></see> for which a hash code is to be returned.</param>
|
||||
<returns>A hash code for the specified object.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">The type of <paramref name="obj">obj</paramref> is a reference type and <paramref name="obj">obj</paramref> is null.</exception>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonNodeExtensions">
|
||||
<summary>
|
||||
Provides extension functionality for <see cref="T:System.Text.Json.Nodes.JsonNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.IsEquivalentTo(System.Text.Json.Nodes.JsonNode,System.Text.Json.Nodes.JsonNode)">
|
||||
<summary>
|
||||
Determines JSON-compatible equivalence.
|
||||
</summary>
|
||||
<param name="a">The first element.</param>
|
||||
<param name="b">The second element.</param>
|
||||
<returns>`true` if the element are equivalent; `false` otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.GetEquivalenceHashCode(System.Text.Json.Nodes.JsonNode,System.Int32)">
|
||||
<summary>
|
||||
Generate a consistent JSON-value-based hash code for the element.
|
||||
</summary>
|
||||
<param name="node">The element.</param>
|
||||
<param name="maxHashDepth">Maximum depth to calculate. Default is -1 which utilizes the entire structure without limitation.</param>
|
||||
<returns>The hash code.</returns>
|
||||
<remarks>
|
||||
See the following for discussion on why the default implementation is insufficient:
|
||||
|
||||
- https://github.com/gregsdennis/json-everything/issues/76
|
||||
- https://github.com/dotnet/runtime/issues/33388
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.AsJsonString(System.Text.Json.Nodes.JsonNode,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>
|
||||
Gets JSON string representation for <see cref="T:System.Text.Json.Nodes.JsonNode"/>, including null support.
|
||||
</summary>
|
||||
<param name="node">A node.</param>
|
||||
<param name="options">Serializer options</param>
|
||||
<returns>JSON string representation.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.GetNumber(System.Text.Json.Nodes.JsonValue)">
|
||||
<summary>
|
||||
Gets a node's underlying numeric value.
|
||||
</summary>
|
||||
<param name="value">A JSON value.</param>
|
||||
<returns>Gets the underlying numeric value, or null if the node represented a non-numeric value.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.GetInteger(System.Text.Json.Nodes.JsonValue)">
|
||||
<summary>
|
||||
Gets a node's underlying numeric value if it's an integer.
|
||||
</summary>
|
||||
<param name="value">A JSON value.</param>
|
||||
<returns>Gets the underlying numeric value if it's an integer, or null if the node represented a non-integer value.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.Copy(System.Text.Json.Nodes.JsonNode)">
|
||||
<summary>
|
||||
Creates a copy of a node by passing it through the serializer.
|
||||
</summary>
|
||||
<param name="source">A node.</param>
|
||||
<returns>A duplicate of the node.</returns>
|
||||
<remarks>
|
||||
`JsonNode` may only be part of a single JSON tree, i.e. have a single parent.
|
||||
Copying a node allows its value to be saved to another JSON tree.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.TryGetValue(System.Text.Json.Nodes.JsonObject,System.String,System.Text.Json.Nodes.JsonNode@,System.Exception@)">
|
||||
<summary>
|
||||
Convenience method that wraps <see cref="M:System.Text.Json.Nodes.JsonObject.TryGetPropertyValue(System.String,System.Text.Json.Nodes.JsonNode@)"/>
|
||||
and catches argument exceptions.
|
||||
</summary>
|
||||
<param name="obj">The JSON object.</param>
|
||||
<param name="propertyName">The property name</param>
|
||||
<param name="node">The node under the property name if it exists and is singular; null otherwise.</param>
|
||||
<param name="e">An exception if one was thrown during the access attempt.</param>
|
||||
<returns>true if the property exists and is singular within the JSON data.</returns>
|
||||
<remarks>
|
||||
<see cref="M:System.Text.Json.Nodes.JsonObject.TryGetPropertyValue(System.String,System.Text.Json.Nodes.JsonNode@)"/> throws an
|
||||
<see cref="T:System.ArgumentException"/> if the node was parsed from data that has duplicate
|
||||
keys. Please see https://github.com/dotnet/runtime/issues/70604 for more information.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.ToJsonArray(System.Collections.Generic.IEnumerable{System.Text.Json.Nodes.JsonNode})">
|
||||
<summary>
|
||||
Creates a new <see cref="T:System.Text.Json.Nodes.JsonArray"/> from an enumerable of nodes.
|
||||
</summary>
|
||||
<param name="nodes">The nodes.</param>
|
||||
<returns>A JSON array.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.GetPathFromRoot(System.Text.Json.Nodes.JsonNode,System.Boolean)">
|
||||
<summary>
|
||||
Gets a JSON Path string that indicates the node's location within
|
||||
its JSON structure.
|
||||
</summary>
|
||||
<param name="node">The node to find.</param>
|
||||
<param name="useShorthand">Determines whether shorthand syntax is used when possible, e.g. `$.foo`.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Null nodes cannot be located as the parent cannot be determined.</exception>
|
||||
<returns>
|
||||
A string containing a JSON Path.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.GetPointerFromRoot(System.Text.Json.Nodes.JsonNode)">
|
||||
<summary>
|
||||
Gets a JSON Pointer string that indicates the node's location within
|
||||
its JSON structure.
|
||||
</summary>
|
||||
<param name="node">The node to find.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Null nodes cannot be located as the parent cannot be determined.</exception>
|
||||
<returns>
|
||||
A string containing a JSON Pointer.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonNull">
|
||||
<summary>
|
||||
Provides a <see cref="T:System.Text.Json.Nodes.JsonNode"/> instance to use as null.
|
||||
</summary>
|
||||
<remarks>
|
||||
.Net has decided to unify JSON null with .Net null. This decision has a number
|
||||
of consequences. This value is provided to get around some of these issues.
|
||||
|
||||
This class *should not be used as a property value*, but rather as a signal to indicate
|
||||
that null was explicitly passed rather than a property missing.
|
||||
|
||||
See https://github.com/dotnet/runtime/issues/68128 for more information.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Json.More.JsonNull.SignalNode">
|
||||
<summary>
|
||||
Provides a static instance of this class wrapped in a <see cref="T:System.Text.Json.Nodes.JsonNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Json.More.TypeExtensions">
|
||||
<summary>
|
||||
Provides informative methods for types.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.TypeExtensions.IsInteger(System.Type)">
|
||||
<summary>
|
||||
Determines whether the type is considered an integer.
|
||||
</summary>
|
||||
<param name="type">The type.</param>
|
||||
<returns>true if it represents an integer; false otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.TypeExtensions.IsFloatingPoint(System.Type)">
|
||||
<summary>
|
||||
Determines whether the type is a non-integer floating point number.
|
||||
</summary>
|
||||
<param name="type">The type.</param>
|
||||
<returns>true if it represents a floating-point number; false otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.TypeExtensions.IsNumber(System.Type)">
|
||||
<summary>
|
||||
Determines whether the type is a number.
|
||||
</summary>
|
||||
<param name="type">The type.</param>
|
||||
<returns>true if it represents a number; false otherwise.</returns>
|
||||
</member>
|
||||
<member name="T:Json.More.Utf8JsonWriterExtensions">
|
||||
<summary>
|
||||
Provides extension functionality for <see cref="T:System.Text.Json.Utf8JsonWriter"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.Utf8JsonWriterExtensions.WriteValue(System.Text.Json.Utf8JsonWriter,System.Text.Json.JsonElement)">
|
||||
<summary>
|
||||
Writes a <see cref="T:System.Text.Json.JsonElement"/> to the stream.
|
||||
</summary>
|
||||
<param name="writer">The JSON stream writer.</param>
|
||||
<param name="element">The element to write.</param>
|
||||
<exception cref="T:System.ArgumentOutOfRangeException">The <see cref="P:System.Text.Json.JsonElement.ValueKind"/> is not valid.</exception>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
5
local-nugets/json.more.net/1.9.0/.nupkg.metadata
Normal file
5
local-nugets/json.more.net/1.9.0/.nupkg.metadata
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 2,
|
||||
"contentHash": "MMjd2dOh32hLbcZg9YyA+7aEH9gu2cMTEAWrQY17in4+aEsPg2NtYTcwgWHJS9Tt2WUx+4iN1mNegR2uiEwsVQ==",
|
||||
"source": "https://api.nuget.org/v3/index.json"
|
||||
}
|
||||
BIN
local-nugets/json.more.net/1.9.0/.signature.p7s
Normal file
BIN
local-nugets/json.more.net/1.9.0/.signature.p7s
Normal file
Binary file not shown.
23
local-nugets/json.more.net/1.9.0/Json.More.Net.nuspec
Normal file
23
local-nugets/json.more.net/1.9.0/Json.More.Net.nuspec
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Json.More.Net</id>
|
||||
<version>1.9.0</version>
|
||||
<authors>Greg Dennis</authors>
|
||||
<license type="file">LICENSE</license>
|
||||
<licenseUrl>https://aka.ms/deprecateLicenseUrl</licenseUrl>
|
||||
<icon>json-logo-256.png</icon>
|
||||
<projectUrl>https://github.com/gregsdennis/json-everything</projectUrl>
|
||||
<description>Provides extended functionality for the System.Text.Json namespace.
|
||||
|
||||
Read the full documentation at https://docs.json-everything.net/more/json-more/.</description>
|
||||
<releaseNotes>Release notes can be found at https://docs.json-everything.net/rn-json-more/</releaseNotes>
|
||||
<tags>json system.text.json json.more</tags>
|
||||
<repository type="git" url="https://github.com/gregsdennis/json-everything" commit="ff10b206fe99cdc03eadd00b7ce87871494576a5" />
|
||||
<dependencies>
|
||||
<group targetFramework=".NETStandard2.0">
|
||||
<dependency id="System.Text.Json" version="6.0.2" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
21
local-nugets/json.more.net/1.9.0/LICENSE
Normal file
21
local-nugets/json.more.net/1.9.0/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 Greg Dennis
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
BIN
local-nugets/json.more.net/1.9.0/json-logo-256.png
Normal file
BIN
local-nugets/json.more.net/1.9.0/json-logo-256.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
local-nugets/json.more.net/1.9.0/json.more.net.1.9.0.nupkg
Normal file
BIN
local-nugets/json.more.net/1.9.0/json.more.net.1.9.0.nupkg
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
seto9EQl9vqHW5L6WavB5hSPUgVYyG6fCQiEAZyFJOrIY6lvIdl6WJu2E6FzyIjFg0kwG2QqzOO5oAZbO0Kn7Q==
|
||||
@@ -0,0 +1,513 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Json.More</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<!-- Badly formed XML comment ignored for member "T:Json.More.EnumStringConverter`1" -->
|
||||
<member name="M:Json.More.EnumStringConverter`1.Read(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>Reads and converts the JSON to type <typeparamref name="T" />.</summary>
|
||||
<param name="reader">The reader.</param>
|
||||
<param name="typeToConvert">The type to convert.</param>
|
||||
<param name="options">An object that specifies serialization options to use.</param>
|
||||
<returns>The converted value.</returns>
|
||||
<exception cref="T:System.Text.Json.JsonException">Element was not a string or could not identify the JSON value as a known enum value.</exception>
|
||||
</member>
|
||||
<member name="M:Json.More.EnumStringConverter`1.ReadAsPropertyName(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>Reads a dictionary key from a JSON property name.</summary>
|
||||
<param name="reader">The <see cref="T:System.Text.Json.Utf8JsonReader" /> to read from.</param>
|
||||
<param name="typeToConvert">The type to convert.</param>
|
||||
<param name="options">The options to use when reading the value.</param>
|
||||
<returns>The value that was converted.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.EnumStringConverter`1.Write(System.Text.Json.Utf8JsonWriter,`0,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>Writes a specified value as JSON.</summary>
|
||||
<param name="writer">The writer to write to.</param>
|
||||
<param name="value">The value to convert to JSON.</param>
|
||||
<param name="options">An object that specifies serialization options to use.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.EnumStringConverter`1.WriteAsPropertyName(System.Text.Json.Utf8JsonWriter,`0,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>Writes a dictionary key as a JSON property name.</summary>
|
||||
<param name="writer">The <see cref="T:System.Text.Json.Utf8JsonWriter" /> to write to.</param>
|
||||
<param name="value">The value to convert. The value of <see cref="P:System.Text.Json.Serialization.JsonConverter`1.HandleNull" /> determines if the converter handles <see langword="null" /> values.</param>
|
||||
<param name="options">The options to use when writing the value.</param>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonDocumentEqualityComparer">
|
||||
<summary>
|
||||
Calculates equality between two <see cref="T:System.Text.Json.JsonDocument"/>s.
|
||||
</summary>
|
||||
<remarks>
|
||||
This comparison is compliant with the ideals expressed by JSON:
|
||||
|
||||
- Objects are unordered.
|
||||
- Arrays are ordered.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Json.More.JsonDocumentEqualityComparer.Instance">
|
||||
<summary>
|
||||
A singleton instance for convenience.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonDocumentEqualityComparer.Equals(System.Text.Json.JsonDocument,System.Text.Json.JsonDocument)">
|
||||
<summary>Determines whether the specified objects are equal.</summary>
|
||||
<param name="x">The first object of type T to compare.</param>
|
||||
<param name="y">The second object of type T to compare.</param>
|
||||
<returns>true if the specified objects are equal; otherwise, false.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonDocumentEqualityComparer.GetHashCode(System.Text.Json.JsonDocument)">
|
||||
<summary>Returns a hash code for the specified object.</summary>
|
||||
<param name="obj">The <see cref="T:System.Object"></see> for which a hash code is to be returned.</param>
|
||||
<returns>A hash code for the specified object.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">The type of <paramref name="obj">obj</paramref> is a reference type and <paramref name="obj">obj</paramref> is null.</exception>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonDocumentExtensions">
|
||||
<summary>
|
||||
Provides extension functionality for <see cref="T:System.Text.Json.JsonDocument"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonDocumentExtensions.IsEquivalentTo(System.Text.Json.JsonDocument,System.Text.Json.JsonDocument)">
|
||||
<summary>
|
||||
Determines JSON-compatible equivalence.
|
||||
</summary>
|
||||
<param name="a">The first document.</param>
|
||||
<param name="b">The second document.</param>
|
||||
<returns>`true` if the documents are equivalent; `false` otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonDocumentExtensions.ToJsonDocument``1(``0,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>
|
||||
Converts an object to a <see cref="T:System.Text.Json.JsonDocument"/>.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the object.</typeparam>
|
||||
<param name="value">The value to convert.</param>
|
||||
<param name="options">(optional) JSON serialization options.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonDocument"/> representing the vale.</returns>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonElementEqualityComparer">
|
||||
<summary>
|
||||
Calculates equality between two <see cref="T:System.Text.Json.JsonElement"/>s.
|
||||
</summary>
|
||||
<remarks>
|
||||
This comparison is compliant with the ideals expressed by JSON:
|
||||
|
||||
- Objects are unordered.
|
||||
- Arrays are ordered.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Json.More.JsonElementEqualityComparer.Instance">
|
||||
<summary>
|
||||
A singleton instance for convenience.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementEqualityComparer.Equals(System.Text.Json.JsonElement,System.Text.Json.JsonElement)">
|
||||
<summary>Determines whether the specified objects are equal.</summary>
|
||||
<param name="x">The first object of type T to compare.</param>
|
||||
<param name="y">The second object of type T to compare.</param>
|
||||
<returns>true if the specified objects are equal; otherwise, false.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementEqualityComparer.GetHashCode(System.Text.Json.JsonElement)">
|
||||
<summary>Returns a hash code for the specified object.</summary>
|
||||
<param name="obj">The <see cref="T:System.Object"></see> for which a hash code is to be returned.</param>
|
||||
<returns>A hash code for the specified object.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">The type of <paramref name="obj">obj</paramref> is a reference type and <paramref name="obj">obj</paramref> is null.</exception>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonElementExtensions">
|
||||
<summary>
|
||||
Provides extension functionality for <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.IsEquivalentTo(System.Text.Json.JsonElement,System.Text.Json.JsonElement)">
|
||||
<summary>
|
||||
Determines JSON-compatible equivalence.
|
||||
</summary>
|
||||
<param name="a">The first element.</param>
|
||||
<param name="b">The second element.</param>
|
||||
<returns>`true` if the element are equivalent; `false` otherwise.</returns>
|
||||
<exception cref="T:System.ArgumentOutOfRangeException">The <see cref="P:System.Text.Json.JsonElement.ValueKind"/> is not valid.</exception>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.GetEquivalenceHashCode(System.Text.Json.JsonElement,System.Int32)">
|
||||
<summary>
|
||||
Generate a consistent JSON-value-based hash code for the element.
|
||||
</summary>
|
||||
<param name="element">The element.</param>
|
||||
<param name="maxHashDepth">Maximum depth to calculate. Default is -1 which utilizes the entire structure without limitation.</param>
|
||||
<returns>The hash code.</returns>
|
||||
<remarks>
|
||||
See the following for discussion on why the default implementation is insufficient:
|
||||
|
||||
- https://github.com/gregsdennis/json-everything/issues/76
|
||||
- https://github.com/dotnet/runtime/issues/33388
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.ToJsonString(System.Text.Json.JsonElement)">
|
||||
<summary>
|
||||
Just a shortcut for calling `JsonSerializer.Serialize()` because `.ToString()` doesn't do what you might expect.
|
||||
</summary>
|
||||
<param name="element">The value to convert.</param>
|
||||
<returns>A JSON string.</returns>
|
||||
<remarks>
|
||||
See https://github.com/dotnet/runtime/issues/42502
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Int64)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Int32)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Int16)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Boolean)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Decimal)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Double)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Double"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Single)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Single"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.String)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.String"/> to a <see cref="T:System.Text.Json.JsonElement"/>. Can also be used to get a `null` element.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Collections.Generic.IEnumerable{System.Text.Json.JsonElement})">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="values">The array of values to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsJsonElement(System.Collections.Generic.IDictionary{System.String,System.Text.Json.JsonElement})">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="values">The value to convert.</param>
|
||||
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the value.</returns>
|
||||
<remarks>This is a workaround for lack of native support in the System.Text.Json namespace.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementExtensions.AsNode(System.Text.Json.JsonElement)">
|
||||
<summary>
|
||||
Converts a <see cref="T:System.Text.Json.JsonElement"/> to a <see cref="T:System.Text.Json.Nodes.JsonNode"/>.
|
||||
</summary>
|
||||
<param name="element">The element.</param>
|
||||
<returns>An equivalent node.</returns>
|
||||
<remarks>
|
||||
This provides a single point of conversion as one is not provided by .Net.
|
||||
See https://github.com/dotnet/runtime/issues/70427 for more information.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Acts as an intermediary that allows an "implicit casting"-like behavior between
|
||||
native JSON types and <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Int32)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `int` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Int64)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `long` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Int16)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `short` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Single)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `float` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Double)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `double` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Decimal)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `decimal` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.String)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `string` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(System.Boolean)~Json.More.JsonElementProxy">
|
||||
<summary>
|
||||
Converts an `bool` to a <see cref="T:Json.More.JsonElementProxy"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonElementProxy.op_Implicit(Json.More.JsonElementProxy)~System.Text.Json.JsonElement">
|
||||
<summary>
|
||||
Converts a <see cref="T:Json.More.JsonElementProxy"/> to a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="proxy">The proxy.</param>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonNodeEqualityComparer">
|
||||
<summary>
|
||||
Calculates equality between two <see cref="T:System.Text.Json.JsonElement"/>s.
|
||||
</summary>
|
||||
<remarks>
|
||||
This comparison is compliant with the ideals expressed by JSON:
|
||||
|
||||
- Objects are unordered.
|
||||
- Arrays are ordered.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Json.More.JsonNodeEqualityComparer.Instance">
|
||||
<summary>
|
||||
A singleton instance for convenience.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeEqualityComparer.Equals(System.Text.Json.Nodes.JsonNode,System.Text.Json.Nodes.JsonNode)">
|
||||
<summary>Determines whether the specified objects are equal.</summary>
|
||||
<param name="x">The first object of type T to compare.</param>
|
||||
<param name="y">The second object of type T to compare.</param>
|
||||
<returns>true if the specified objects are equal; otherwise, false.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeEqualityComparer.GetHashCode(System.Text.Json.Nodes.JsonNode)">
|
||||
<summary>Returns a hash code for the specified object.</summary>
|
||||
<param name="obj">The <see cref="T:System.Object"></see> for which a hash code is to be returned.</param>
|
||||
<returns>A hash code for the specified object.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">The type of <paramref name="obj">obj</paramref> is a reference type and <paramref name="obj">obj</paramref> is null.</exception>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonNodeExtensions">
|
||||
<summary>
|
||||
Provides extension functionality for <see cref="T:System.Text.Json.Nodes.JsonNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.IsEquivalentTo(System.Text.Json.Nodes.JsonNode,System.Text.Json.Nodes.JsonNode)">
|
||||
<summary>
|
||||
Determines JSON-compatible equivalence.
|
||||
</summary>
|
||||
<param name="a">The first element.</param>
|
||||
<param name="b">The second element.</param>
|
||||
<returns>`true` if the element are equivalent; `false` otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.GetEquivalenceHashCode(System.Text.Json.Nodes.JsonNode,System.Int32)">
|
||||
<summary>
|
||||
Generate a consistent JSON-value-based hash code for the element.
|
||||
</summary>
|
||||
<param name="node">The element.</param>
|
||||
<param name="maxHashDepth">Maximum depth to calculate. Default is -1 which utilizes the entire structure without limitation.</param>
|
||||
<returns>The hash code.</returns>
|
||||
<remarks>
|
||||
See the following for discussion on why the default implementation is insufficient:
|
||||
|
||||
- https://github.com/gregsdennis/json-everything/issues/76
|
||||
- https://github.com/dotnet/runtime/issues/33388
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.AsJsonString(System.Text.Json.Nodes.JsonNode,System.Text.Json.JsonSerializerOptions)">
|
||||
<summary>
|
||||
Gets JSON string representation for <see cref="T:System.Text.Json.Nodes.JsonNode"/>, including null support.
|
||||
</summary>
|
||||
<param name="node">A node.</param>
|
||||
<param name="options">Serializer options</param>
|
||||
<returns>JSON string representation.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.GetNumber(System.Text.Json.Nodes.JsonValue)">
|
||||
<summary>
|
||||
Gets a node's underlying numeric value.
|
||||
</summary>
|
||||
<param name="value">A JSON value.</param>
|
||||
<returns>Gets the underlying numeric value, or null if the node represented a non-numeric value.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.GetInteger(System.Text.Json.Nodes.JsonValue)">
|
||||
<summary>
|
||||
Gets a node's underlying numeric value if it's an integer.
|
||||
</summary>
|
||||
<param name="value">A JSON value.</param>
|
||||
<returns>Gets the underlying numeric value if it's an integer, or null if the node represented a non-integer value.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.Copy(System.Text.Json.Nodes.JsonNode)">
|
||||
<summary>
|
||||
Creates a copy of a node by passing it through the serializer.
|
||||
</summary>
|
||||
<param name="source">A node.</param>
|
||||
<returns>A duplicate of the node.</returns>
|
||||
<remarks>
|
||||
`JsonNode` may only be part of a single JSON tree, i.e. have a single parent.
|
||||
Copying a node allows its value to be saved to another JSON tree.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.TryGetValue(System.Text.Json.Nodes.JsonObject,System.String,System.Text.Json.Nodes.JsonNode@,System.Exception@)">
|
||||
<summary>
|
||||
Convenience method that wraps <see cref="M:System.Text.Json.Nodes.JsonObject.TryGetPropertyValue(System.String,System.Text.Json.Nodes.JsonNode@)"/>
|
||||
and catches argument exceptions.
|
||||
</summary>
|
||||
<param name="obj">The JSON object.</param>
|
||||
<param name="propertyName">The property name</param>
|
||||
<param name="node">The node under the property name if it exists and is singular; null otherwise.</param>
|
||||
<param name="e">An exception if one was thrown during the access attempt.</param>
|
||||
<returns>true if the property exists and is singular within the JSON data.</returns>
|
||||
<remarks>
|
||||
<see cref="M:System.Text.Json.Nodes.JsonObject.TryGetPropertyValue(System.String,System.Text.Json.Nodes.JsonNode@)"/> throws an
|
||||
<see cref="T:System.ArgumentException"/> if the node was parsed from data that has duplicate
|
||||
keys. Please see https://github.com/dotnet/runtime/issues/70604 for more information.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.ToJsonArray(System.Collections.Generic.IEnumerable{System.Text.Json.Nodes.JsonNode})">
|
||||
<summary>
|
||||
Creates a new <see cref="T:System.Text.Json.Nodes.JsonArray"/> from an enumerable of nodes.
|
||||
</summary>
|
||||
<param name="nodes">The nodes.</param>
|
||||
<returns>A JSON array.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.GetPathFromRoot(System.Text.Json.Nodes.JsonNode,System.Boolean)">
|
||||
<summary>
|
||||
Gets a JSON Path string that indicates the node's location within
|
||||
its JSON structure.
|
||||
</summary>
|
||||
<param name="node">The node to find.</param>
|
||||
<param name="useShorthand">Determines whether shorthand syntax is used when possible, e.g. `$.foo`.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Null nodes cannot be located as the parent cannot be determined.</exception>
|
||||
<returns>
|
||||
A string containing a JSON Path.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.JsonNodeExtensions.GetPointerFromRoot(System.Text.Json.Nodes.JsonNode)">
|
||||
<summary>
|
||||
Gets a JSON Pointer string that indicates the node's location within
|
||||
its JSON structure.
|
||||
</summary>
|
||||
<param name="node">The node to find.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Null nodes cannot be located as the parent cannot be determined.</exception>
|
||||
<returns>
|
||||
A string containing a JSON Pointer.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonNull">
|
||||
<summary>
|
||||
Provides a <see cref="T:System.Text.Json.Nodes.JsonNode"/> instance to use as null.
|
||||
</summary>
|
||||
<remarks>
|
||||
.Net has decided to unify JSON null with .Net null. This decision has a number
|
||||
of consequences. This value is provided to get around some of these issues.
|
||||
|
||||
This class *should not be used as a property value*, but rather as a signal to indicate
|
||||
that null was explicitly passed rather than a property missing.
|
||||
|
||||
See https://github.com/dotnet/runtime/issues/68128 for more information.
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Json.More.JsonNull.SignalNode">
|
||||
<summary>
|
||||
Provides a static instance of this class wrapped in a <see cref="T:System.Text.Json.Nodes.JsonNode"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Json.More.JsonSerializerOptionsExtensions">
|
||||
<summary>
|
||||
Provides extension functionality for <see cref="T:System.Text.Json.JsonSerializerOptions"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<!-- Badly formed XML comment ignored for member "M:Json.More.JsonSerializerOptionsExtensions.GetConverter``1(System.Text.Json.JsonSerializerOptions)" -->
|
||||
<member name="M:Json.More.JsonSerializerOptionsExtensions.Read``1(System.Text.Json.JsonSerializerOptions,System.Text.Json.Utf8JsonReader@)">
|
||||
<summary>
|
||||
Read and convert the JSON to T.
|
||||
</summary>
|
||||
<remarks>
|
||||
A converter may throw any Exception, but should throw <cref>JsonException</cref> when the JSON is invalid.
|
||||
</remarks>
|
||||
<typeparam name="T">The <see cref="T:System.Type"/> to convert.</typeparam>
|
||||
<param name="options">The <see cref="T:System.Text.Json.JsonSerializerOptions"/> being used.</param>
|
||||
<param name="reader">The <see cref="T:System.Text.Json.Utf8JsonReader"/> to read from.</param>
|
||||
<returns>The value that was converted.</returns>
|
||||
</member>
|
||||
<member name="T:Json.More.TypeExtensions">
|
||||
<summary>
|
||||
Provides informative methods for types.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.TypeExtensions.IsInteger(System.Type)">
|
||||
<summary>
|
||||
Determines whether the type is considered an integer.
|
||||
</summary>
|
||||
<param name="type">The type.</param>
|
||||
<returns>true if it represents an integer; false otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.TypeExtensions.IsFloatingPoint(System.Type)">
|
||||
<summary>
|
||||
Determines whether the type is a non-integer floating point number.
|
||||
</summary>
|
||||
<param name="type">The type.</param>
|
||||
<returns>true if it represents a floating-point number; false otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.More.TypeExtensions.IsNumber(System.Type)">
|
||||
<summary>
|
||||
Determines whether the type is a number.
|
||||
</summary>
|
||||
<param name="type">The type.</param>
|
||||
<returns>true if it represents a number; false otherwise.</returns>
|
||||
</member>
|
||||
<member name="T:Json.More.Utf8JsonWriterExtensions">
|
||||
<summary>
|
||||
Provides extension functionality for <see cref="T:System.Text.Json.Utf8JsonWriter"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.More.Utf8JsonWriterExtensions.WriteValue(System.Text.Json.Utf8JsonWriter,System.Text.Json.JsonElement)">
|
||||
<summary>
|
||||
Writes a <see cref="T:System.Text.Json.JsonElement"/> to the stream.
|
||||
</summary>
|
||||
<param name="writer">The JSON stream writer.</param>
|
||||
<param name="element">The element to write.</param>
|
||||
<exception cref="T:System.ArgumentOutOfRangeException">The <see cref="P:System.Text.Json.JsonElement.ValueKind"/> is not valid.</exception>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
5
local-nugets/jsonpointer.net/3.0.3/.nupkg.metadata
Normal file
5
local-nugets/jsonpointer.net/3.0.3/.nupkg.metadata
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 2,
|
||||
"contentHash": "mCGQc15lHLp1R2CVhWiipnZurHXm93+LbPPAT/vXQm5PdHt6WQuYLhaEF8VZ+aXL9P2I6bGND6pDTEfqFs6gig==",
|
||||
"source": "https://api.nuget.org/v3/index.json"
|
||||
}
|
||||
BIN
local-nugets/jsonpointer.net/3.0.3/.signature.p7s
Normal file
BIN
local-nugets/jsonpointer.net/3.0.3/.signature.p7s
Normal file
Binary file not shown.
23
local-nugets/jsonpointer.net/3.0.3/JsonPointer.Net.nuspec
Normal file
23
local-nugets/jsonpointer.net/3.0.3/JsonPointer.Net.nuspec
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>JsonPointer.Net</id>
|
||||
<version>3.0.3</version>
|
||||
<authors>Greg Dennis</authors>
|
||||
<license type="file">LICENSE</license>
|
||||
<licenseUrl>https://aka.ms/deprecateLicenseUrl</licenseUrl>
|
||||
<icon>json-logo-256.png</icon>
|
||||
<projectUrl>https://github.com/gregsdennis/json-everything</projectUrl>
|
||||
<description>[JSON Pointer](https://tools.ietf.org/html/rfc6901) built on the System.Text.Json namespace.
|
||||
|
||||
Read the full documentation at https://docs.json-everything.net/pointer/basics/.</description>
|
||||
<releaseNotes>Release notes can be found at https://docs.json-everything.net/rn-json-pointer/</releaseNotes>
|
||||
<tags>json-pointer json pointer</tags>
|
||||
<repository type="git" url="https://github.com/gregsdennis/json-everything" commit="27e320a9fbd3119bd1046ab7063b0cad4c746045" />
|
||||
<dependencies>
|
||||
<group targetFramework=".NETStandard2.0">
|
||||
<dependency id="Json.More.Net" version="1.8.0" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
21
local-nugets/jsonpointer.net/3.0.3/LICENSE
Normal file
21
local-nugets/jsonpointer.net/3.0.3/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 Greg Dennis
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
BIN
local-nugets/jsonpointer.net/3.0.3/json-logo-256.png
Normal file
BIN
local-nugets/jsonpointer.net/3.0.3/json-logo-256.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
local-nugets/jsonpointer.net/3.0.3/jsonpointer.net.3.0.3.nupkg
Normal file
BIN
local-nugets/jsonpointer.net/3.0.3/jsonpointer.net.3.0.3.nupkg
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
06iP664rFlvqSKFb14XWPbBixabRmldIsruIKqvFFdnSNiaVp1AE/vJBnUXc6If5mmj5gj42/ldCklkXGphXzA==
|
||||
@@ -0,0 +1,392 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>JsonPointer.Net</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Json.Pointer.CharExtensions">
|
||||
<summary>
|
||||
Extensions for <seealso cref="T:System.Char"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.CharExtensions.IsHexadecimal(System.Char)">
|
||||
<summary>
|
||||
Determines if the char represents a hexadecimal value.
|
||||
</summary>
|
||||
<param name="c">A <see cref="T:System.Char"/>.</param>
|
||||
<returns>`true` if the character is in the ranges `0-9`, `a-z`, or `A-Z`; `false` otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.CharExtensions.GetHexadecimalValue(System.Char)">
|
||||
<summary>
|
||||
Translates the character to its hexadecimal numeric value.
|
||||
</summary>
|
||||
<param name="c">A <see cref="T:System.Char"/>.</param>
|
||||
<returns>0-9 for `0-9`; 11-15 for `a-f` and `A-F`.</returns>
|
||||
<exception cref="T:System.ArgumentOutOfRangeException"><paramref name="c"/> is not a valid hexadecimal character.</exception>
|
||||
</member>
|
||||
<member name="T:Json.Pointer.EnumerableExtensions">
|
||||
<summary>
|
||||
More extensions on <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.EnumerableExtensions.GetCollectionHashCode``1(System.Collections.Generic.IEnumerable{``0})">
|
||||
<summary>
|
||||
Gets a collection-oriented hash code by combining the hash codes of its elements.
|
||||
</summary>
|
||||
<typeparam name="T">The type of element.</typeparam>
|
||||
<param name="collection">The collection of elements.</param>
|
||||
<returns>A singular integer value that represents the collection.</returns>
|
||||
<remarks>This can be used to correctly compare the contents of collections.</remarks>
|
||||
</member>
|
||||
<member name="T:Json.Pointer.JsonPointer">
|
||||
<summary>
|
||||
Represents a JSON Pointer IAW RFC 6901.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Json.Pointer.JsonPointer.Empty">
|
||||
<summary>
|
||||
The empty pointer.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Json.Pointer.JsonPointer.Segments">
|
||||
<summary>
|
||||
Gets the collection of pointer segments.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.Parse(System.String)">
|
||||
<summary>
|
||||
Parses a JSON Pointer from a string.
|
||||
</summary>
|
||||
<param name="source">The source string.</param>
|
||||
<returns>A JSON Pointer.</returns>
|
||||
<exception cref="T:System.ArgumentNullException"><paramref name="source"/> is null.</exception>
|
||||
<exception cref="T:Json.Pointer.PointerParseException"><paramref name="source"/> does not contain a valid pointer or contains a pointer of the wrong kind.</exception>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.TryParse(System.String,Json.Pointer.JsonPointer@)">
|
||||
<summary>
|
||||
Parses a JSON Pointer from a string.
|
||||
</summary>
|
||||
<param name="source">The source string.</param>
|
||||
<param name="pointer">The resulting pointer.</param>
|
||||
<returns>`true` if the parse was successful; `false` otherwise.</returns>
|
||||
<exception cref="T:System.ArgumentNullException"><paramref name="source"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.Create(Json.Pointer.PointerSegment[])">
|
||||
<summary>
|
||||
Creates a new JSON Pointer from a collection of segments.
|
||||
</summary>
|
||||
<param name="segments">A collection of segments.</param>
|
||||
<returns>The JSON Pointer.</returns>
|
||||
<remarks>This method creates un-encoded pointers only.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.Create(System.Collections.Generic.IEnumerable{Json.Pointer.PointerSegment})">
|
||||
<summary>
|
||||
Creates a new JSON Pointer from a collection of segments.
|
||||
</summary>
|
||||
<param name="segments">A collection of segments.</param>
|
||||
<returns>The JSON Pointer.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.Create``1(System.Linq.Expressions.Expression{System.Func{``0,System.Object}})">
|
||||
<summary>
|
||||
Generates a JSON Pointer from a lambda expression.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the object.</typeparam>
|
||||
<param name="expression">The lambda expression which gives the pointer path.</param>
|
||||
<returns>The JSON Pointer.</returns>
|
||||
<exception cref="T:System.NotSupportedException">
|
||||
Thrown when the lambda expression contains a node that is not a property access or
|
||||
<see cref="T:System.Int32"/>-valued indexer.
|
||||
</exception>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.Combine(Json.Pointer.JsonPointer)">
|
||||
<summary>
|
||||
Concatenates a pointer onto the current pointer.
|
||||
</summary>
|
||||
<param name="other">Another pointer.</param>
|
||||
<returns>A new pointer.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.Combine(Json.Pointer.PointerSegment[])">
|
||||
<summary>
|
||||
Concatenates additional segments onto the current pointer.
|
||||
</summary>
|
||||
<param name="additionalSegments">The additional segments.</param>
|
||||
<returns>A new pointer.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.Evaluate(System.Text.Json.JsonElement)">
|
||||
<summary>
|
||||
Evaluates the pointer over a <see cref="T:System.Text.Json.JsonElement"/>.
|
||||
</summary>
|
||||
<param name="root">The <see cref="T:System.Text.Json.JsonElement"/>.</param>
|
||||
<returns>The sub-element at the pointer's location, or null if the path does not exist.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.TryEvaluate(System.Text.Json.Nodes.JsonNode,System.Text.Json.Nodes.JsonNode@)">
|
||||
<summary>
|
||||
Evaluates the pointer over a <see cref="T:System.Text.Json.Nodes.JsonNode"/>.
|
||||
</summary>
|
||||
<param name="root">The <see cref="T:System.Text.Json.Nodes.JsonNode"/>.</param>
|
||||
<param name="result">The result, if return value is true; null otherwise</param>
|
||||
<returns>true if a value exists at the indicate path; false otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.ToString(Json.Pointer.JsonPointerStyle)">
|
||||
<summary>Returns the string representation of this instance.</summary>
|
||||
<param name="pointerStyle">Indicates whether to URL-encode the pointer.</param>
|
||||
<returns>The string representation.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.ToString">
|
||||
<summary>Returns the string representation of this instance.</summary>
|
||||
<returns>The string representation.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.Equals(Json.Pointer.JsonPointer)">
|
||||
<summary>Indicates whether the current object is equal to another object of the same type.</summary>
|
||||
<param name="other">An object to compare with this object.</param>
|
||||
<returns>true if the current object is equal to the <paramref name="other">other</paramref> parameter; otherwise, false.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.Equals(System.Object)">
|
||||
<summary>Indicates whether this instance and a specified object are equal.</summary>
|
||||
<param name="obj">The object to compare with the current instance.</param>
|
||||
<returns>true if <paramref name="obj">obj</paramref> and this instance are the same type and represent the same value; otherwise, false.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.GetHashCode">
|
||||
<summary>Returns the hash code for this instance.</summary>
|
||||
<returns>A 32-bit signed integer that is the hash code for this instance.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.op_Equality(Json.Pointer.JsonPointer,Json.Pointer.JsonPointer)">
|
||||
<summary>
|
||||
Evaluates equality via <see cref="M:Json.Pointer.JsonPointer.Equals(Json.Pointer.JsonPointer)"/>.
|
||||
</summary>
|
||||
<param name="left">A JSON Pointer.</param>
|
||||
<param name="right">A JSON Pointer.</param>
|
||||
<returns>`true` if the pointers are equal; `false` otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.JsonPointer.op_Inequality(Json.Pointer.JsonPointer,Json.Pointer.JsonPointer)">
|
||||
<summary>
|
||||
Evaluates inequality via <see cref="M:Json.Pointer.JsonPointer.Equals(Json.Pointer.JsonPointer)"/>.
|
||||
</summary>
|
||||
<param name="left">A JSON Pointer.</param>
|
||||
<param name="right">A JSON Pointer.</param>
|
||||
<returns>`false` if the pointers are equal; `true` otherwise.</returns>
|
||||
</member>
|
||||
<member name="T:Json.Pointer.JsonPointerStyle">
|
||||
<summary>
|
||||
Enumerates the different styles of JSON pointers.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Json.Pointer.JsonPointerStyle.Unspecified">
|
||||
<summary>
|
||||
No format specified.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Json.Pointer.JsonPointerStyle.Plain">
|
||||
<summary>
|
||||
Indicates only plain JSON pointers.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Json.Pointer.JsonPointerStyle.UriEncoded">
|
||||
<summary>
|
||||
Indicates only URI-encoded JSON pointers.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Json.Pointer.PointerParseException">
|
||||
<summary>
|
||||
Thrown during parsing when the source string contains invalid JSON Pointer data.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerParseException.#ctor">
|
||||
<summary>
|
||||
Creates a <see cref="T:Json.Pointer.PointerParseException"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerParseException.#ctor(System.String)">
|
||||
<summary>
|
||||
Creates a <see cref="T:Json.Pointer.PointerParseException"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerParseException.#ctor(System.String,System.Exception)">
|
||||
<summary>
|
||||
Creates a <see cref="T:Json.Pointer.PointerParseException"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Json.Pointer.PointerSegment">
|
||||
<summary>
|
||||
Represents a single segment of a JSON Pointer.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Json.Pointer.PointerSegment.Value">
|
||||
<summary>
|
||||
Gets the segment value.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.Parse(System.String)">
|
||||
<summary>
|
||||
Parses a JSON Pointer segment from a string.
|
||||
</summary>
|
||||
<param name="source">The source string.</param>
|
||||
<returns>A JSON Pointer segment.</returns>
|
||||
<exception cref="T:System.ArgumentNullException"><paramref name="source"/> is null.</exception>
|
||||
<exception cref="T:Json.Pointer.PointerParseException"><paramref name="source"/> contains an invalid escape sequence or an invalid URI-encoded sequence or ends with `~`.</exception>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.TryParse(System.String,Json.Pointer.PointerSegment@)">
|
||||
<summary>
|
||||
Parses a JSON Pointer segment from a string.
|
||||
</summary>
|
||||
<param name="source">The source string.</param>
|
||||
<param name="segment">The resulting segments.</param>
|
||||
<returns>`true` if the parse was successful; `false` otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.Create(System.String)">
|
||||
<summary>
|
||||
Creates a new <see cref="T:Json.Pointer.PointerSegment"/>.
|
||||
</summary>
|
||||
<param name="value">The value.</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.ToString(Json.Pointer.JsonPointerStyle)">
|
||||
<summary>Returns the string representation of this instance.</summary>
|
||||
<param name="pointerStyle">Indicates whether to URL-encode the pointer.</param>
|
||||
<returns>The string representation.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.Equals(Json.Pointer.PointerSegment)">
|
||||
<summary>Indicates whether the current object is equal to another object of the same type.</summary>
|
||||
<param name="other">An object to compare with this object.</param>
|
||||
<returns>true if the current object is equal to the <paramref name="other">other</paramref> parameter; otherwise, false.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.Equals(System.Object)">
|
||||
<summary>Indicates whether this instance and a specified object are equal.</summary>
|
||||
<param name="obj">The object to compare with the current instance.</param>
|
||||
<returns>true if <paramref name="obj">obj</paramref> and this instance are the same type and represent the same value; otherwise, false.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.GetHashCode">
|
||||
<summary>Returns the hash code for this instance.</summary>
|
||||
<returns>A 32-bit signed integer that is the hash code for this instance.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.op_Equality(Json.Pointer.PointerSegment,Json.Pointer.PointerSegment)">
|
||||
<summary>
|
||||
Evaluates equality via <see cref="M:Json.Pointer.PointerSegment.Equals(Json.Pointer.PointerSegment)"/>.
|
||||
</summary>
|
||||
<param name="left">A JSON Pointer.</param>
|
||||
<param name="right">A JSON Pointer.</param>
|
||||
<returns>`true` if the pointers are equal; `false` otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.op_Inequality(Json.Pointer.PointerSegment,Json.Pointer.PointerSegment)">
|
||||
<summary>
|
||||
Evaluates inequality via <see cref="M:Json.Pointer.PointerSegment.Equals(Json.Pointer.PointerSegment)"/>.
|
||||
</summary>
|
||||
<param name="left">A JSON Pointer.</param>
|
||||
<param name="right">A JSON Pointer.</param>
|
||||
<returns>`false` if the pointers are equal; `true` otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.op_Implicit(System.Int32)~Json.Pointer.PointerSegment">
|
||||
<summary>
|
||||
Implicitly casts an <see cref="T:System.UInt32"/> to a <see cref="T:Json.Pointer.PointerSegment"/>.
|
||||
</summary>
|
||||
<param name="value">A pointer segment that represents the value.</param>
|
||||
<remarks>No URI encoding is performed for implicit casts.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.op_Implicit(System.UInt32)~Json.Pointer.PointerSegment">
|
||||
<summary>
|
||||
Implicitly casts an <see cref="T:System.UInt32"/> to a <see cref="T:Json.Pointer.PointerSegment"/>.
|
||||
</summary>
|
||||
<param name="value">A pointer segment that represents the value.</param>
|
||||
<remarks>No URI encoding is performed for implicit casts.</remarks>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.PointerSegment.op_Implicit(System.String)~Json.Pointer.PointerSegment">
|
||||
<summary>
|
||||
Implicitly casts a <see cref="T:System.String"/> to a <see cref="T:Json.Pointer.PointerSegment"/>.
|
||||
</summary>
|
||||
<param name="value">A pointer segment that represents the value.</param>
|
||||
<remarks>No URI encoding is performed for implicit casts.</remarks>
|
||||
</member>
|
||||
<member name="T:Json.Pointer.RelativeJsonPointer">
|
||||
<summary>
|
||||
Represents a Relative JSON Pointer IAW draft-handrews-relative-json-pointer-02
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Json.Pointer.RelativeJsonPointer.Null">
|
||||
<summary>
|
||||
The null pointer. Indicates no navigation should occur.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Json.Pointer.RelativeJsonPointer.IsIndexQuery">
|
||||
<summary>
|
||||
Gets whether the pointer is an index query, which returns the index within the parent rather than the value.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Json.Pointer.RelativeJsonPointer.ParentSteps">
|
||||
<summary>
|
||||
Gets the number of parent (root) steps to take.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Json.Pointer.RelativeJsonPointer.ArrayIndexManipulator">
|
||||
<summary>
|
||||
Gets the number of lateral steps to take. Applicable only for arrays.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Json.Pointer.RelativeJsonPointer.Pointer">
|
||||
<summary>
|
||||
Gets the pointer to follow after taking <see cref="P:Json.Pointer.RelativeJsonPointer.ParentSteps"/> steps upward.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.RelativeJsonPointer.IndexQuery(System.UInt32)">
|
||||
<summary>
|
||||
Creates an index query pointer.
|
||||
</summary>
|
||||
<param name="parentSteps"></param>
|
||||
<returns>A Relative JSON Pointer.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.RelativeJsonPointer.IndexQuery(System.UInt32,System.Int32)">
|
||||
<summary>
|
||||
Creates an index query pointer.
|
||||
</summary>
|
||||
<param name="parentSteps"></param>
|
||||
<param name="arrayIndexManipulator">The index manipulator.</param>
|
||||
<returns>A Relative JSON Pointer.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.RelativeJsonPointer.FromPointer(System.UInt32,Json.Pointer.JsonPointer)">
|
||||
<summary>
|
||||
Creates a Relative JSON Pointer from a JSON Pointer and a number of parent steps.
|
||||
</summary>
|
||||
<param name="parentSteps">The number of parent steps.</param>
|
||||
<param name="pointer">The JSON Pointer.</param>
|
||||
<returns>A Relative JSON Pointer.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.RelativeJsonPointer.FromPointer(System.UInt32,System.Int32,Json.Pointer.JsonPointer)">
|
||||
<summary>
|
||||
Creates a Relative JSON Pointer from a JSON Pointer and a number of parent steps.
|
||||
</summary>
|
||||
<param name="parentSteps">The number of parent steps.</param>
|
||||
<param name="arrayIndexManipulator">The index manipulator.</param>
|
||||
<param name="pointer">The JSON Pointer.</param>
|
||||
<returns>A Relative JSON Pointer.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.RelativeJsonPointer.Parse(System.String)">
|
||||
<summary>
|
||||
Parses a JSON Pointer segment from a string.
|
||||
</summary>
|
||||
<param name="source">The source string.</param>
|
||||
<returns>A Relative JSON Pointer.</returns>
|
||||
<exception cref="T:System.ArgumentNullException"><paramref name="source"/> is null.</exception>
|
||||
<exception cref="T:Json.Pointer.PointerParseException"><paramref name="source"/> does not contain a valid relative pointer.</exception>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.RelativeJsonPointer.TryParse(System.String,Json.Pointer.RelativeJsonPointer@)">
|
||||
<summary>
|
||||
Parses a JSON Pointer from a string.
|
||||
</summary>
|
||||
<param name="source">The source string.</param>
|
||||
<param name="relativePointer">The resulting relative pointer.</param>
|
||||
<returns>`true` if the parse was successful; `false` otherwise.</returns>
|
||||
<exception cref="T:System.ArgumentNullException"><paramref name="source"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.RelativeJsonPointer.TryEvaluate(System.Text.Json.Nodes.JsonNode,System.Text.Json.Nodes.JsonNode@)">
|
||||
<summary>
|
||||
Evaluates the relative pointer over a <see cref="T:System.Text.Json.Nodes.JsonNode"/>.
|
||||
</summary>
|
||||
<param name="node">The <see cref="T:System.Text.Json.Nodes.JsonNode"/>.</param>
|
||||
<param name="result">The result, if return value is true; null otherwise</param>
|
||||
<returns>true if a value exists at the indicate path; false otherwise.</returns>
|
||||
</member>
|
||||
<member name="M:Json.Pointer.RelativeJsonPointer.ToString">
|
||||
<summary>Returns the fully qualified type name of this instance.</summary>
|
||||
<returns>The fully qualified type name.</returns>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
5
local-nugets/jsonschema.net/5.3.0/.nupkg.metadata
Normal file
5
local-nugets/jsonschema.net/5.3.0/.nupkg.metadata
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 2,
|
||||
"contentHash": "XZy99hxNUl99TbV4PEqoCYDJZmgm1VNoFARISfZb9vmIAYbzrEdt8wWBEgDbCWi6A0/kTlf0nXT6YFXDFcx79w==",
|
||||
"source": "https://api.nuget.org/v3/index.json"
|
||||
}
|
||||
BIN
local-nugets/jsonschema.net/5.3.0/.signature.p7s
Normal file
BIN
local-nugets/jsonschema.net/5.3.0/.signature.p7s
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user