All three acceptance criteria are now met and merged to master:
- Consent-lookup failure → treat as NOT opted-in (TCPA) — resolved in backend PR #151 (
SendSmsCommandHandler/`MakeCallCom…
MarkWilsonsCustomerController closed — PR #153. Re-examined it (I'd flagged it for "a human look"): it's live and exposes customer PII (names, addresses, phone numbers, generators,…
Two of the three gates fixed — PR #151:
- ✅ TCPA (SMS + voice):
ValidateRecipientOptInnow returnsfalseon lookup error (wastrue), so a message/call is blocked when consent…
AI.GenerateEmbeddings compute-lever closed — PR #150. It was the last item from the inventory's "genuine anonymous vulnerabilities" list that needed no product decision: AIController…
All three fixing PRs are merged to master — closing.
- #143 — decompiler reads metadata-only via
CSharpDecompiler/MetadataFile; noAssembly.Load, real source instead of stubs. -…
Third AC — path traversal — now fixed: PR #146. I'd nearly recommended closing after #144, but re-reading the ACs caught that the filename-traversal criterion (evidence `UploadDllCommandHandl…
Codebase-wide Assembly.Load* sweep done. Results:
Decompiler upgraded from gate → real fix — PR #143. The fabricated // Method implementation would be here skeletons are gone; each type now carries its real DecompileTypeAsString output,…
Real metadata-only implementation shipped — PR #143 (supersedes the #141 interim gate for the decompiler path).
Delivered exactly the recipe from my earlier comment: DecompileDllAsync now…
Trellis Bug 1 shipped — PR #142 (the datetime.timezone.utc → timezone.utc crash at :371/:431). Deterministic; verified by local repro + py_compile (no GPU/broker needed).
**Bug 2…
Slice 2 shipped — PR #141 (decompiler). It was both fabricating (skeleton source) and Assembly.Load-ing the untrusted uploaded DLL (#406, reachable by any authenticated user). Removed the…
Concrete location + interim mitigation shipped: PR #141.
The untrusted-Assembly.Load this epic is about is live at SpikerSoft.Workers.Decompile/Services/DecompilationService.cs:48 —…
Slice 1 shipped — PR #140 (phone lookup). The handler returned Success=true + hardcoded CountryCode="US" for any number without ever calling Twilio; now returns an explicit `NOT_IMPLEMENTE…
Resolved — PR #138 merged to master (996efa1). Closing.
Full epic recap:
- CodeExecutionHub / ChatHub → class-level
[Authorize](#116, #117) - DashboardHub / ClusterHub →…
Rec #4 shipped — PR #138 — the last open item.
Re-verified all 13 hubs against origin/master this tick: every one is explicitly attributed (12 [Authorize], PreRegistrationHub…