Add unit tests for RabbitMq and Udp transport servers and clients
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
- Implemented comprehensive unit tests for RabbitMqTransportServer, covering constructor, disposal, connection management, event handlers, and exception handling. - Added configuration tests for RabbitMqTransportServer to validate SSL, durable queues, auto-recovery, and custom virtual host options. - Created unit tests for UdpFrameProtocol, including frame parsing and serialization, header size validation, and round-trip data preservation. - Developed tests for UdpTransportClient, focusing on connection handling, event subscriptions, and exception scenarios. - Established tests for UdpTransportServer, ensuring proper start/stop behavior, connection state management, and event handling. - Included tests for UdpTransportOptions to verify default values and modification capabilities. - Enhanced service registration tests for Udp transport services in the dependency injection container.
This commit is contained in:
195
docs/implplan/BLOCKED_DEPENDENCY_TREE_PART2.md
Normal file
195
docs/implplan/BLOCKED_DEPENDENCY_TREE_PART2.md
Normal file
@@ -0,0 +1,195 @@
|
||||
# Analysis: BLOCKED Tasks in SPRINT Files
|
||||
|
||||
## Executive Summary
|
||||
|
||||
Found **57 BLOCKED tasks** across 10 sprint files. The overwhelming majority (95%+) are blocked due to **missing contracts, schemas, or specifications** from upstream teams/guilds—not by other tickets directly.
|
||||
|
||||
---
|
||||
|
||||
## Common Themes (Ranked by Frequency)
|
||||
|
||||
### 1. Missing Contract/Schema Dependencies (38 tasks, 67%)
|
||||
|
||||
The single largest blocker category. Tasks are waiting for upstream teams to publish:
|
||||
|
||||
| Missing Contract Type | Example Tasks | Blocking Guild/Team |
|
||||
|-----------------------|---------------|---------------------|
|
||||
| `advisory_key` schema/canonicalization | EXCITITOR-POLICY-20-001, EXCITITOR-VULN-29-001 | Policy Engine, Vuln Explorer |
|
||||
| Risk scoring contract (66-002) | LEDGER-RISK-67-001, POLICY-RISK-67-003 | Risk/Export Center |
|
||||
| VerificationPolicy schema | POLICY-ATTEST-73-001, POLICY-ATTEST-73-002 | Attestor guild |
|
||||
| Policy Studio API contract | CONCELIER-RISK-68-001, POLICY-RISK-68-001 | Policy Studio |
|
||||
| Mirror bundle/registration schema | POLICY-AIRGAP-56-001, EXCITITOR-AIRGAP-56-001 | Mirror/Evidence Locker |
|
||||
| ICryptoProviderRegistry contract | EXCITITOR-CRYPTO-90-001 | Security guild |
|
||||
| Export bundle/scheduler spec | EXPORT-CONSOLE-23-001 | Export Center |
|
||||
| RLS + partition design approval | LEDGER-TEN-48-001-DEV | Platform/DB guild |
|
||||
|
||||
**Root Cause:** Cross-team coordination gaps. Contracts are not being published before dependent work is scheduled.
|
||||
|
||||
---
|
||||
|
||||
### 2. Cascading/Domino Blockers (16 tasks, 28%)
|
||||
|
||||
Tasks blocked because their immediate upstream task is also blocked:
|
||||
|
||||
```
|
||||
67-001 (blocked) → 68-001 (blocked) → 68-002 (blocked) → 69-001 (blocked)
|
||||
```
|
||||
|
||||
Examples:
|
||||
- EXCITITOR-VULN-29-002 → blocked on 29-001 canonicalization contract
|
||||
- POLICY-ATTEST-74-002 → blocked on 74-001 → blocked on 73-002 → blocked on 73-001
|
||||
|
||||
**Root Cause:** Dependency chains where the root blocker propagates downstream. Unblocking the root would cascade-unblock 3-5 dependent tasks.
|
||||
|
||||
---
|
||||
|
||||
### 3. Air-Gap/Offline Operation Blockers (8 tasks, 14%)
|
||||
|
||||
Concentrated pattern around air-gapped/sealed-mode features:
|
||||
|
||||
| Task Pattern | Missing Spec |
|
||||
|--------------|--------------|
|
||||
| AIRGAP-56-* | Mirror registration + bundle schema |
|
||||
| AIRGAP-57-* | Sealed-mode contract, staleness/fallback data |
|
||||
| AIRGAP-58-* | Notification schema for staleness signals |
|
||||
| AIRGAP-TIME-57-001 | Time-anchor + TUF trust policy |
|
||||
|
||||
**Root Cause:** Air-gap feature design is incomplete. The "sealed mode" and "time travel" contracts are not finalized.
|
||||
|
||||
---
|
||||
|
||||
### 4. VEX Lens / VEX-First Decisioning (4 tasks)
|
||||
|
||||
Multiple tasks waiting on VEX Lens specifications:
|
||||
- CONCELIER-VEXLENS-30-001
|
||||
- EXCITITOR-VEXLENS-30-001
|
||||
|
||||
**Root Cause:** VEX Lens field list and examples not delivered.
|
||||
|
||||
---
|
||||
|
||||
### 5. Attestation Pipeline (4 tasks)
|
||||
|
||||
Blocked waiting for:
|
||||
- DSSE-signed locker manifests
|
||||
- VerificationPolicy schema/persistence
|
||||
- Attestor pipeline contract
|
||||
|
||||
**Root Cause:** Attestation verification design is incomplete.
|
||||
|
||||
---
|
||||
|
||||
### 6. Authority Integration (3 tasks)
|
||||
|
||||
Tasks blocked on:
|
||||
- `effective:write` contract from Authority
|
||||
- Authority attachment/scoping rules
|
||||
|
||||
**Root Cause:** Authority team has not published integration contracts.
|
||||
|
||||
---
|
||||
|
||||
## Key Blocking Guilds/Teams (Not Tickets)
|
||||
|
||||
| Guild/Team | # Tasks Blocked | Key Missing Deliverable |
|
||||
|------------|-----------------|-------------------------|
|
||||
| Policy Engine | 12 | `advisory_key` schema, Policy Studio API |
|
||||
| Risk/Export Center | 10 | Risk scoring contract (66-002), export specs |
|
||||
| Mirror/Evidence Locker | 8 | Mirror bundle schema, registration contract |
|
||||
| Attestor | 6 | VerificationPolicy, DSSE signing profile |
|
||||
| Platform/DB | 3 | RLS + partition design approval |
|
||||
| VEX Lens | 2 | Field list, examples |
|
||||
| Security | 1 | ICryptoProviderRegistry contract |
|
||||
|
||||
---
|
||||
|
||||
## Recommendations
|
||||
|
||||
### Immediate Actions (High Impact)
|
||||
|
||||
1. **Unblock `advisory_key` canonicalization spec** — Removes blockers for 6+ EXCITITOR tasks
|
||||
2. **Publish Risk scoring contract (66-002)** — Removes blockers for 5+ LEDGER/POLICY tasks
|
||||
3. **Finalize Mirror bundle schema (AIRGAP-56)** — Unblocks entire air-gap feature chain
|
||||
4. **Publish VerificationPolicy schema** — Unblocks attestation pipeline
|
||||
|
||||
### Process Improvements
|
||||
|
||||
1. **Contract-First Development:** Require upstream guilds to publish interface contracts *before* dependent sprints are planned
|
||||
2. **Blocker Escalation:** BLOCKED tasks with non-ticket reasons should trigger immediate cross-guild coordination
|
||||
3. **Dependency Mapping:** Visualize the cascade chains to identify critical-path root blockers
|
||||
4. **Sprint Planning Gate:** Do not schedule tasks until all required contracts are published
|
||||
|
||||
---
|
||||
|
||||
## Appendix: All Blocked Tasks by Sprint
|
||||
|
||||
### SPRINT_0115_0001_0004_concelier_iv.md (4 tasks)
|
||||
- CONCELIER-RISK-68-001 — Policy Studio integration contract
|
||||
- CONCELIER-SIG-26-001 — Signals guild symbol data contract
|
||||
- CONCELIER-STORE-AOC-19-005-DEV — Staging dataset hash + rollback rehearsal
|
||||
- CONCELIER-VEXLENS-30-001 — VEX Lens field list
|
||||
|
||||
### SPRINT_0119_0001_0004_excititor_iv.md (3 tasks)
|
||||
- EXCITITOR-POLICY-20-001 — advisory_key schema not published
|
||||
- EXCITITOR-POLICY-20-002 — Cascade on 20-001
|
||||
- EXCITITOR-RISK-66-001 — Risk feed envelope spec
|
||||
|
||||
### SPRINT_0119_0001_0005_excititor_v.md (6 tasks)
|
||||
- EXCITITOR-VEXLENS-30-001 — VEX Lens field list
|
||||
- EXCITITOR-VULN-29-001 — advisory_key canonicalization spec
|
||||
- EXCITITOR-VULN-29-002 — Cascade on 29-001
|
||||
- EXCITITOR-VULN-29-004 — Cascade on 29-002
|
||||
- EXCITITOR-AIRGAP-56-001 — Mirror registration contract
|
||||
- EXCITITOR-AIRGAP-58-001 — Cascade on 56-001
|
||||
|
||||
### SPRINT_0119_0001_0006_excititor_vi.md (2 tasks)
|
||||
- EXCITITOR-WEB-OBS-54-001 — DSSE-signed locker manifests
|
||||
- EXCITITOR-CRYPTO-90-001 — ICryptoProviderRegistry contract
|
||||
|
||||
### SPRINT_0121_0001_0002_policy_reasoning_blockers.md (7 tasks)
|
||||
- LEDGER-ATTEST-73-002 — Verification pipeline delivery
|
||||
- LEDGER-OAS-61-001-DEV — OAS baseline not defined
|
||||
- LEDGER-OAS-61-002-DEV — Cascade on 61-001
|
||||
- LEDGER-OAS-62-001-DEV — SDK generation pending
|
||||
- LEDGER-OAS-63-001-DEV — SDK validation pending
|
||||
- LEDGER-OBS-55-001 — Attestation telemetry contract
|
||||
- LEDGER-PACKS-42-001-DEV — Snapshot time-travel contract
|
||||
|
||||
### SPRINT_0122_0001_0001_policy_reasoning.md (6 tasks)
|
||||
- LEDGER-RISK-67-001 — Risk scoring + Export Center specs
|
||||
- LEDGER-RISK-68-001 — Cascade on 67-001
|
||||
- LEDGER-RISK-69-001 — Cascade on 67+68
|
||||
- LEDGER-TEN-48-001-DEV — Platform/DB approval for RLS
|
||||
- DEVOPS-LEDGER-TEN-48-001-REL — DevOps cascade
|
||||
|
||||
### SPRINT_0123_0001_0001_policy_reasoning.md (14 tasks)
|
||||
- EXPORT-CONSOLE-23-001 — Export bundle schema
|
||||
- POLICY-AIRGAP-56-001 — Mirror bundle schema
|
||||
- POLICY-AIRGAP-56-002 — DSSE signing profile
|
||||
- POLICY-AIRGAP-57-001 — Sealed-mode contract
|
||||
- POLICY-AIRGAP-57-002 — Staleness/fallback data
|
||||
- POLICY-AIRGAP-58-001 — Notification schema
|
||||
- POLICY-AOC-19-001 — Linting targets spec
|
||||
- POLICY-AOC-19-002 — Authority `effective:write` contract
|
||||
- POLICY-AOC-19-003/004 — Cascades
|
||||
- POLICY-ATTEST-73-001 — VerificationPolicy schema
|
||||
- POLICY-ATTEST-73-002 — Cascade
|
||||
- POLICY-ATTEST-74-001 — Attestor pipeline contract
|
||||
- POLICY-ATTEST-74-002 — Console report schema
|
||||
|
||||
### SPRINT_0125_0001_0001_mirror.md (2 tasks)
|
||||
- AIRGAP-TIME-57-001 — Time-anchor + TUF schema
|
||||
- CLI-AIRGAP-56-001 — Mirror signing + CLI contract
|
||||
|
||||
### SPRINT_0128_0001_0001_policy_reasoning.md (7 tasks)
|
||||
- POLICY-RISK-67-003 — Risk profile contract
|
||||
- POLICY-RISK-68-001 — Policy Studio API
|
||||
- POLICY-RISK-68-002 — Overrides audit fields
|
||||
- POLICY-RISK-69-001 — Notifications contract
|
||||
- POLICY-RISK-70-001 — Air-gap packaging rules
|
||||
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
**The blockers are systemic, not individual.** 95% of BLOCKED tasks are waiting on unpublished contracts from upstream guilds—not on specific ticket deliverables. The primary remedy is **contract-first cross-guild coordination**, not sprint-level ticket management.
|
||||
Reference in New Issue
Block a user