{"data":{"skill":{"slug":"avdlee-swift-concurrency","name":"swift-concurrency","icon":"📦","repo":"https://github.com/AvdLee/Swift-Concurrency-Agent-Skill/tree/main/swift-concurrency/","status":"approved","author":"AvdLee","authorVersion":null,"skillstoreRevision":3},"audit":{"id":"aafb5056-c987-44a3-abe4-a03e0eb68965","skill_id":"b2a36184-3672-4561-9c62-2af12de2fd68","version":12,"content_hash":"v3:89edfdc710d0846129dcee6a929477b04f08052c:a84a3874320a955d5c0bd1841f84303cded83485007eda1b0c585c41827fa6a3:3ca365dca21f95c638249305ce397b9577804e122b088d0b86bd18587dae9380:736b696c6c732f6176646c65652f73776966742d636f6e63757272656e6379:70f7861900bd5ea923adf2d02c391d8b","risk_level":"safe","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 129 static findings are false positives caused by Markdown syntax, Swift examples, local documentation links, and ordinary concurrency terminology. No prompt injection, malicious execution, reconnaissance, data exfiltration, or unsafe path handling was found.","remediation":[],"risk_factor_evidence":[{"factor":"filesystem","evidence":[{"file":"references/_index.md","line_end":41,"line_start":41}]},{"factor":"network","evidence":[{"file":"references/async-algorithms.md","line_end":83,"line_start":83},{"file":"references/async-await-basics.md","line_end":150,"line_start":150},{"file":"references/async-await-basics.md","line_end":169,"line_start":169},{"file":"references/async-sequences.md","line_end":557,"line_start":557},{"file":"references/core-data.md","line_end":224,"line_start":224},{"file":"references/core-data.md","line_end":232,"line_start":232},{"file":"references/core-data.md","line_end":297,"line_start":297},{"file":"references/core-data.md","line_end":353,"line_start":353},{"file":"references/core-data.md","line_end":530,"line_start":530},{"file":"references/core-data.md","line_end":340,"line_start":340},{"file":"references/linting.md","line_end":50,"line_start":50},{"file":"references/performance.md","line_end":398,"line_start":398},{"file":"references/performance.md","line_end":461,"line_start":461},{"file":"references/tasks.md","line_end":281,"line_start":281},{"file":"references/tasks.md","line_end":383,"line_start":383},{"file":"references/tasks.md","line_end":384,"line_start":384},{"file":"references/tasks.md","line_end":389,"line_start":389},{"file":"references/tasks.md","line_end":390,"line_start":390},{"file":"references/testing.md","line_end":210,"line_start":210},{"file":"references/testing.md","line_end":236,"line_start":236},{"file":"references/threading.md","line_end":380,"line_start":380},{"file":"SKILL.md","line_end":209,"line_start":209}]},{"factor":"external_commands","evidence":[{"file":"references/linting.md","line_end":76,"line_start":72},{"file":"references/performance.md","line_end":302,"line_start":284},{"file":"references/threading.md","line_end":232,"line_start":214},{"file":"SKILL.md","line_end":11,"line_start":11},{"file":"SKILL.md","line_end":13,"line_start":13},{"file":"SKILL.md","line_end":14,"line_start":14},{"file":"SKILL.md","line_end":18,"line_start":18},{"file":"SKILL.md","line_end":20,"line_start":20},{"file":"SKILL.md","line_end":21,"line_start":21},{"file":"SKILL.md","line_end":22,"line_start":22},{"file":"SKILL.md","line_end":23,"line_start":23},{"file":"SKILL.md","line_end":24,"line_start":24},{"file":"SKILL.md","line_end":26,"line_start":26},{"file":"SKILL.md","line_end":32,"line_start":32},{"file":"SKILL.md","line_end":33,"line_start":33},{"file":"SKILL.md","line_end":34,"line_start":34},{"file":"SKILL.md","line_end":56,"line_start":56},{"file":"SKILL.md","line_end":57,"line_start":57},{"file":"SKILL.md","line_end":58,"line_start":58},{"file":"SKILL.md","line_end":59,"line_start":59},{"file":"SKILL.md","line_end":60,"line_start":60},{"file":"SKILL.md","line_end":61,"line_start":61},{"file":"SKILL.md","line_end":62,"line_start":62},{"file":"SKILL.md","line_end":63,"line_start":63},{"file":"SKILL.md","line_end":64,"line_start":64},{"file":"SKILL.md","line_end":77,"line_start":77},{"file":"SKILL.md","line_end":78,"line_start":78},{"file":"SKILL.md","line_end":79,"line_start":79},{"file":"SKILL.md","line_end":80,"line_start":80},{"file":"SKILL.md","line_end":86,"line_start":86},{"file":"SKILL.md","line_end":87,"line_start":87},{"file":"SKILL.md","line_end":88,"line_start":88},{"file":"SKILL.md","line_end":89,"line_start":89},{"file":"SKILL.md","line_end":90,"line_start":90},{"file":"SKILL.md","line_end":91,"line_start":91},{"file":"SKILL.md","line_end":101,"line_start":96},{"file":"SKILL.md","line_end":104,"line_start":101},{"file":"SKILL.md","line_end":113,"line_start":104},{"file":"SKILL.md","line_end":118,"line_start":113},{"file":"SKILL.md","line_end":118,"line_start":118},{"file":"SKILL.md","line_end":120,"line_start":120},{"file":"SKILL.md","line_end":121,"line_start":121},{"file":"SKILL.md","line_end":129,"line_start":123},{"file":"SKILL.md","line_end":147,"line_start":129},{"file":"SKILL.md","line_end":161,"line_start":147},{"file":"SKILL.md","line_end":164,"line_start":161},{"file":"SKILL.md","line_end":169,"line_start":164},{"file":"SKILL.md","line_end":176,"line_start":169},{"file":"SKILL.md","line_end":177,"line_start":176},{"file":"SKILL.md","line_end":178,"line_start":177}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":16,"total_lines":8376,"audit_model":"codex","audited_at":"2026-07-23T09:40:41.342+00:00","created_at":"2026-07-24T08:39:51.010168+00:00","static_findings":[{"id":"filesystem:references/_index.md:41:path-traversal-sequence","file":"references/_index.md","pattern":"Path traversal sequence","snippet":"- \"I need to fix a compiler error quickly\" → `../SKILL.md`","category":"filesystem","line_end":41,"severity":"high","line_start":41},{"id":"blocker:references/actors.md:326:system-reconnaissance","file":"references/actors.md","pattern":"System reconnaissance","snippet":"lhs.id == rhs.id && lhs.name == rhs.name","category":"blocker","line_end":326,"severity":"low","line_start":326},{"id":"blocker:references/actors.md:372:system-reconnaissance","file":"references/actors.md","pattern":"System reconnaissance","snippet":"2. Avoid passing the metatype across isolation boundaries — call the static method directly rather t","category":"blocker","line_end":372,"severity":"low","line_start":372},{"id":"blocker:references/actors.md:677:system-reconnaissance","file":"references/actors.md","pattern":"System reconnaissance","snippet":"6. **Avoid assumeIsolated** - prefer explicit isolation","category":"blocker","line_end":677,"severity":"low","line_start":677},{"id":"blocker:references/actors.md:601:network-reconnaissance","file":"references/actors.md","pattern":"Network reconnaissance","snippet":"- Need synchronous access","category":"blocker","line_end":602,"severity":"low","line_start":601},{"id":"network:references/async-algorithms.md:83:hardcoded-url","file":"references/async-algorithms.md","pattern":"Hardcoded URL","snippet":".package(url: \"https://github.com/apple/swift-async-algorithms\", from: \"1.0.0\")","category":"network","line_end":83,"severity":"low","line_start":83},{"id":"blocker:references/async-algorithms.md:146:keylogger-keywords","file":"references/async-algorithms.md","pattern":"Keylogger keywords","snippet":"// Bad: Every keystroke spawns new task","category":"blocker","line_end":146,"severity":"critical","line_start":146},{"id":"blocker:references/async-algorithms.md:32:system-reconnaissance","file":"references/async-algorithms.md","pattern":"System reconnaissance","snippet":"// 1. Debounce rapid inputs","category":"blocker","line_end":32,"severity":"low","line_start":32},{"id":"blocker:references/async-algorithms.md:108:system-reconnaissance","file":"references/async-algorithms.md","pattern":"System reconnaissance","snippet":"Wait for inactivity before emitting. Use for rapid inputs like search fields.","category":"blocker","line_end":108,"severity":"low","line_start":108},{"id":"blocker:references/async-algorithms.md:832:system-reconnaissance","file":"references/async-algorithms.md","pattern":"System reconnaissance","snippet":"1. **Use time-based operators** for rapid inputs: debounce() for search, throttle() for buttons","category":"blocker","line_end":832,"severity":"low","line_start":832},{"id":"blocker:references/async-algorithms.md:838:system-reconnaissance","file":"references/async-algorithms.md","pattern":"System reconnaissance","snippet":"7. **Avoid manual sleep loops** - use AsyncTimerSequence instead","category":"blocker","line_end":838,"severity":"low","line_start":838},{"id":"network:references/async-await-basics.md:150:hardcoded-url","file":"references/async-await-basics.md","pattern":"Hardcoded URL","snippet":"let url = URL(string: \"https://api.example.com/users/\\(id)\")!","category":"network","line_end":150,"severity":"low","line_start":150},{"id":"network:references/async-await-basics.md:169:hardcoded-url","file":"references/async-await-basics.md","pattern":"Hardcoded URL","snippet":"let url = URL(string: \"https://api.example.com/users\")!","category":"network","line_end":169,"severity":"low","line_start":169},{"id":"blocker:references/async-await-basics.md:97:system-reconnaissance","file":"references/async-await-basics.md","pattern":"System reconnaissance","snippet":"// Redundant - avoid this","category":"blocker","line_end":97,"severity":"low","line_start":97},{"id":"blocker:references/async-await-basics.md:112:system-reconnaissance","file":"references/async-await-basics.md","pattern":"System reconnaissance","snippet":"**Avoid when:**","category":"blocker","line_end":112,"severity":"low","line_start":112},{"id":"network:references/async-sequences.md:557:hardcoded-url","file":"references/async-sequences.md","pattern":"Hardcoded URL","snippet":"> **Course Deep Dive**: This topic is covered in detail in [Lesson 6.3: Deciding between AsyncSequen","category":"network","line_end":557,"severity":"low","line_start":557},{"id":"blocker:references/async-sequences.md:164:system-reconnaissance","file":"references/async-sequences.md","pattern":"System reconnaissance","snippet":"completion: @escaping (Result<Data, Error>) -> Void","category":"blocker","line_end":165,"severity":"low","line_start":164},{"id":"network:references/core-data.md:224:fetch-api-call","file":"references/core-data.md","pattern":"Fetch API call","snippet":"return try context.fetch(request)","category":"network","line_end":224,"severity":"low","line_start":224},{"id":"network:references/core-data.md:232:fetch-api-call","file":"references/core-data.md","pattern":"Fetch API call","snippet":"let articles = try context.fetch(request)","category":"network","line_end":232,"severity":"low","line_start":232},{"id":"network:references/core-data.md:297:fetch-api-call","file":"references/core-data.md","pattern":"Fetch API call","snippet":"let objects = try context.fetch(request)","category":"network","line_end":297,"severity":"low","line_start":297},{"id":"network:references/core-data.md:353:fetch-api-call","file":"references/core-data.md","pattern":"Fetch API call","snippet":"return try viewContext.fetch(request)","category":"network","line_end":353,"severity":"low","line_start":353},{"id":"network:references/core-data.md:530:fetch-api-call","file":"references/core-data.md","pattern":"Fetch API call","snippet":"let articles = viewContext.fetch(request) // ❌ Not on main thread","category":"network","line_end":530,"severity":"low","line_start":530},{"id":"network:references/core-data.md:340:hardcoded-url","file":"references/core-data.md","pattern":"Hardcoded URL","snippet":"> **Course Deep Dive**: This topic is covered in detail in [Lesson 9.4: Autogenerated Core Data Obje","category":"network","line_end":340,"severity":"low","line_start":340},{"id":"blocker:references/core-data.md:65:system-reconnaissance","file":"references/core-data.md","pattern":"System reconnaissance","snippet":"completionHandler: @escaping (NSPersistentStoreDescription, Error?) -> Void","category":"blocker","line_end":66,"severity":"low","line_start":65},{"id":"blocker:references/core-data.md:96:system-reconnaissance","file":"references/core-data.md","pattern":"System reconnaissance","snippet":"self.id = managedObject.objectID","category":"blocker","line_end":96,"severity":"low","line_start":96},{"id":"blocker:references/core-data.md:447:system-reconnaissance","file":"references/core-data.md","pattern":"System reconnaissance","snippet":"6. **Keep it simple** - avoid custom executors unless needed","category":"blocker","line_end":447,"severity":"low","line_start":447},{"id":"blocker:references/glossary.md:55:system-reconnaissance","file":"references/glossary.md","pattern":"System reconnaissance","snippet":"Also valid on `Task { @concurrent in ... }` to opt the task body out of the enclosing actor's isolat","category":"blocker","line_end":55,"severity":"low","line_start":55},{"id":"blocker:references/glossary.md:83:system-reconnaissance","file":"references/glossary.md","pattern":"System reconnaissance","snippet":"Swift's threading model where tasks run on a limited pool of threads managed by the runtime. Tasks y","category":"blocker","line_end":83,"severity":"low","line_start":83},{"id":"blocker:references/glossary.md:107:system-reconnaissance","file":"references/glossary.md","pattern":"System reconnaissance","snippet":"Wait for a period of inactivity before emitting a value. Used to reduce API calls for rapid inputs l","category":"blocker","line_end":107,"severity":"low","line_start":107},{"id":"external_commands:references/linting.md:72:ruby-shell-backtick-execution","file":"references/linting.md","pattern":"Ruby/shell backtick execution","snippet":"// Warning: Capture of 'self' with non-sendable type 'MyClass' in a `@Sendable` closure","category":"external_commands","line_end":76,"severity":"medium","line_start":72},{"id":"network:references/linting.md:50:fetch-api-call","file":"references/linting.md","pattern":"Fetch API call","snippet":"func fetch() async { perform() }","category":"network","line_end":50,"severity":"low","line_start":50},{"id":"blocker:references/linting.md:27:system-reconnaissance","file":"references/linting.md","pattern":"System reconnaissance","snippet":"| `weak_delegate` | warning | Delegates should be weak to avoid retain cycles |","category":"blocker","line_end":27,"severity":"low","line_start":27},{"id":"blocker:references/linting.md:62:system-reconnaissance","file":"references/linting.md","pattern":"System reconnaissance","snippet":"- [ ] Avoid adding new suspension points without intent.","category":"blocker","line_end":62,"severity":"low","line_start":62},{"id":"blocker:references/memory-management.md:370:system-reconnaissance","file":"references/memory-management.md","pattern":"System reconnaissance","snippet":"9. **Avoid nested strong captures** in task closures","category":"blocker","line_end":370,"severity":"low","line_start":370},{"id":"blocker:references/migration.md:881:keylogger-keywords","file":"references/migration.md","pattern":"Keylogger keywords","snippet":"**Problem**: Every keystroke spawns a new task. If user types fast, multiple tasks execute simultane","category":"blocker","line_end":881,"severity":"critical","line_start":881},{"id":"blocker:references/migration.md:132:system-reconnaissance","file":"references/migration.md","pattern":"System reconnaissance","snippet":"- Avoid large PRs that are hard to review","category":"blocker","line_end":132,"severity":"low","line_start":132},{"id":"blocker:references/migration.md:867:system-reconnaissance","file":"references/migration.md","pattern":"System reconnaissance","snippet":"## Anti-Patterns to Avoid","category":"blocker","line_end":869,"severity":"low","line_start":867},{"id":"external_commands:references/performance.md:284:ruby-shell-backtick-execution","file":"references/performance.md","pattern":"Ruby/shell backtick execution","snippet":"// ❌ Synchronous prefix is only `print` (trivial, non-main); first await hops away","category":"external_commands","line_end":302,"severity":"medium","line_start":284},{"id":"network:references/performance.md:398:hardcoded-url","file":"references/performance.md","pattern":"Hardcoded URL","snippet":"> **Course Deep Dive**: This topic is covered in detail in [Lesson 10.3: Using Xcode Instruments to ","category":"network","line_end":398,"severity":"low","line_start":398},{"id":"network:references/performance.md:461:hardcoded-url","file":"references/performance.md","pattern":"Hardcoded URL","snippet":"> **Course Deep Dive**: This topic is covered in detail in [Lesson 10.4: How to choose between seria","category":"network","line_end":461,"severity":"low","line_start":461},{"id":"blocker:references/performance.md:546:system-reconnaissance","file":"references/performance.md","pattern":"System reconnaissance","snippet":"Anti-patterns to avoid with unstructured tasks:","category":"blocker","line_end":546,"severity":"low","line_start":546},{"id":"blocker:references/performance.md:630:system-reconnaissance","file":"references/performance.md","pattern":"System reconnaissance","snippet":"6. **Avoid premature parallelism** - has costs","category":"blocker","line_end":630,"severity":"low","line_start":630},{"id":"blocker:references/performance.md:433:network-reconnaissance","file":"references/performance.md","pattern":"Network reconnaissance","snippet":"- User reports sluggishness","category":"blocker","line_end":434,"severity":"low","line_start":433},{"id":"blocker:references/sendable.md:206:system-reconnaissance","file":"references/sendable.md","pattern":"System reconnaissance","snippet":"self.id = id","category":"blocker","line_end":206,"severity":"low","line_start":206},{"id":"blocker:references/sendable.md:548:system-reconnaissance","file":"references/sendable.md","pattern":"System reconnaissance","snippet":"### Restructure to avoid non-Sendable dependencies","category":"blocker","line_end":548,"severity":"low","line_start":548},{"id":"blocker:references/sendable.md:587:system-reconnaissance","file":"references/sendable.md","pattern":"System reconnaissance","snippet":"3. **Avoid @unchecked Sendable** - use only for proven thread-safe code","category":"blocker","line_end":587,"severity":"low","line_start":587},{"id":"network:references/tasks.md:281:fetch-api-call","file":"references/tasks.md","pattern":"Fetch API call","snippet":"group.addTask { try await fetch(id) }","category":"network","line_end":281,"severity":"low","line_start":281},{"id":"network:references/tasks.md:383:fetch-api-call","file":"references/tasks.md","pattern":"Fetch API call","snippet":"async let data1 = fetch(1)","category":"network","line_end":383,"severity":"low","line_start":383},{"id":"network:references/tasks.md:384:fetch-api-call","file":"references/tasks.md","pattern":"Fetch API call","snippet":"async let data2 = fetch(2)","category":"network","line_end":384,"severity":"low","line_start":384},{"id":"network:references/tasks.md:389:fetch-api-call","file":"references/tasks.md","pattern":"Fetch API call","snippet":"group.addTask { await fetch(1) }","category":"network","line_end":389,"severity":"low","line_start":389},{"id":"network:references/tasks.md:390:fetch-api-call","file":"references/tasks.md","pattern":"Fetch API call","snippet":"group.addTask { await fetch(2) }","category":"network","line_end":390,"severity":"low","line_start":390},{"id":"blocker:references/tasks.md:280:system-reconnaissance","file":"references/tasks.md","pattern":"System reconnaissance","snippet":"for id in ids {","category":"blocker","line_end":280,"severity":"low","line_start":280},{"id":"blocker:references/tasks.md:652:system-reconnaissance","file":"references/tasks.md","pattern":"System reconnaissance","snippet":"2. **Use structured concurrency** (avoid detached tasks)","category":"blocker","line_end":652,"severity":"low","line_start":652},{"id":"network:references/testing.md:210:fetch-api-call","file":"references/testing.md","pattern":"Fetch API call","snippet":"let task = Task { try await fetcher.fetch(url) }","category":"network","line_end":210,"severity":"low","line_start":210},{"id":"network:references/testing.md:236:fetch-api-call","file":"references/testing.md","pattern":"Fetch API call","snippet":"let task = Task { try await fetcher.fetch(url) }","category":"network","line_end":236,"severity":"low","line_start":236},{"id":"blocker:references/testing.md:163:system-reconnaissance","file":"references/testing.md","pattern":"System reconnaissance","snippet":"performing function: () async throws -> Void","category":"blocker","line_end":164,"severity":"low","line_start":163},{"id":"blocker:references/testing.md:302:system-reconnaissance","file":"references/testing.md","pattern":"System reconnaissance","snippet":"**Critical**: Use `await fulfillment(of:)`, not `wait(for:)` to avoid deadlocks.","category":"blocker","line_end":302,"severity":"low","line_start":302},{"id":"blocker:references/testing.md:468:system-reconnaissance","file":"references/testing.md","pattern":"System reconnaissance","snippet":"4. **Serialize tests with main serial executor** - avoid flaky tests","category":"blocker","line_end":468,"severity":"low","line_start":468},{"id":"blocker:references/testing.md:472:system-reconnaissance","file":"references/testing.md","pattern":"System reconnaissance","snippet":"8. **Avoid sleep in tests** - use continuations/confirmations instead","category":"blocker","line_end":472,"severity":"low","line_start":472},{"id":"blocker:references/testing.md:474:system-reconnaissance","file":"references/testing.md","pattern":"System reconnaissance","snippet":"10. **Keep tests deterministic** - avoid timing dependencies","category":"blocker","line_end":474,"severity":"low","line_start":474},{"id":"blocker:references/testing.md:525:system-reconnaissance","file":"references/testing.md","pattern":"System reconnaissance","snippet":"performing function: () async throws -> Void","category":"blocker","line_end":526,"severity":"low","line_start":525},{"id":"external_commands:references/threading.md:214:ruby-shell-backtick-execution","file":"references/threading.md","pattern":"Ruby/shell backtick execution","snippet":"// ❌ Synchronous prefix is only `print` (trivial, non-main); first await hops away","category":"external_commands","line_end":232,"severity":"medium","line_start":214},{"id":"network:references/threading.md:380:hardcoded-url","file":"references/threading.md","pattern":"Hardcoded URL","snippet":"> **Course Deep Dive**: This topic is covered in detail in [Lesson 7.5: Controlling the default isol","category":"network","line_end":380,"severity":"low","line_start":380},{"id":"blocker:references/threading.md:39:system-reconnaissance","file":"references/threading.md","pattern":"System reconnaissance","snippet":"**Important (Swift 6+)**: Avoid using `Thread.current` inside async contexts. In Swift 6 language mo","category":"blocker","line_end":39,"severity":"low","line_start":39},{"id":"blocker:references/threading.md:124:system-reconnaissance","file":"references/threading.md","pattern":"System reconnaissance","snippet":"> **Course Deep Dive**: This topic is covered in detail in [Lesson 7.2: Getting rid of the \"Threadin","category":"blocker","line_end":124,"severity":"low","line_start":124},{"id":"blocker:references/threading.md:460:system-reconnaissance","file":"references/threading.md","pattern":"System reconnaissance","snippet":"4. **Minimize suspension points in actors** - avoid reentrancy bugs","category":"blocker","line_end":460,"severity":"low","line_start":460},{"id":"external_commands:SKILL.md:11:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"1. Analyze `Package.swift` or `.pbxproj` to determine Swift language mode, strict concurrency level,","category":"external_commands","line_end":11,"severity":"medium","line_start":11},{"id":"external_commands:SKILL.md:13:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. Determine the isolation boundary: `@MainActor`, custom actor, actor instance isolation, or `nonis","category":"external_commands","line_end":13,"severity":"medium","line_start":13},{"id":"external_commands:SKILL.md:14:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. Confirm whether the code is UI-bound or intended to run off the main actor. When spawning unstruc","category":"external_commands","line_end":14,"severity":"medium","line_start":14},{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Setting | SwiftPM (`Package.swift`) | Xcode (`.pbxproj`) |","category":"external_commands","line_end":18,"severity":"medium","line_start":18},{"id":"external_commands:SKILL.md:20:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Language mode | `swiftLanguageVersions` or `-swift-version` (`// swift-tools-version:` is not a re","category":"external_commands","line_end":20,"severity":"medium","line_start":20},{"id":"external_commands:SKILL.md:21:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Strict concurrency | `.enableExperimentalFeature(\"StrictConcurrency=targeted\")` | `SWIFT_STRICT_CO","category":"external_commands","line_end":21,"severity":"medium","line_start":21},{"id":"external_commands:SKILL.md:22:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Default isolation | `.defaultIsolation(MainActor.self)` | `SWIFT_DEFAULT_ACTOR_ISOLATION` |","category":"external_commands","line_end":22,"severity":"medium","line_start":22},{"id":"external_commands:SKILL.md:23:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Upcoming features | `.enableUpcomingFeature(\"NonisolatedNonsendingByDefault\")` | `SWIFT_UPCOMING_F","category":"external_commands","line_end":23,"severity":"medium","line_start":23},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Approachable Concurrency | N/A (use individual upcoming features) | `SWIFT_APPROACHABLE_CONCURRENC","category":"external_commands","line_end":24,"severity":"medium","line_start":24},{"id":"external_commands:SKILL.md:26:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"> **Xcode 26 note**: New projects created in Xcode 26 will often start with `SWIFT_DEFAULT_ACTOR_ISO","category":"external_commands","line_end":26,"severity":"medium","line_start":26},{"id":"external_commands:SKILL.md:32:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Do not recommend `@MainActor` as a blanket fix. Justify why the code is truly UI-bound.","category":"external_commands","line_end":32,"severity":"medium","line_start":32},{"id":"external_commands:SKILL.md:33:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Prefer structured concurrency over unstructured tasks. Use `Task.detached` only with a clear reaso","category":"external_commands","line_end":33,"severity":"medium","line_start":33},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- If recommending `@preconcurrency`, `@unchecked Sendable`, or `nonisolated(unsafe)`, require a docu","category":"external_commands","line_end":34,"severity":"medium","line_start":34},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `Main actor-isolated ... cannot be used from a nonisolated context` | Is this truly UI-bound? | Is","category":"external_commands","line_end":56,"severity":"medium","line_start":56},{"id":"external_commands:SKILL.md:57:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `Actor-isolated type does not conform to protocol` | Must the requirement run on the actor? | Pref","category":"external_commands","line_end":57,"severity":"medium","line_start":57},{"id":"external_commands:SKILL.md:58:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `Sending value of non-Sendable type ... risks causing data races` | What isolation boundary is bei","category":"external_commands","line_end":58,"severity":"medium","line_start":58},{"id":"external_commands:SKILL.md:59:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `SwiftLint async_without_await` | Is `async` actually required by protocol, override, or `@concurr","category":"external_commands","line_end":59,"severity":"medium","line_start":59},{"id":"external_commands:SKILL.md:60:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `wait(...) is unavailable from asynchronous contexts` | Is this legacy XCTest async waiting? | Rep","category":"external_commands","line_end":60,"severity":"medium","line_start":60},{"id":"external_commands:SKILL.md:61:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Core Data concurrency warnings | Are `NSManagedObject` instances crossing contexts or actors? | Pa","category":"external_commands","line_end":61,"severity":"medium","line_start":61},{"id":"external_commands:SKILL.md:62:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `Thread.current` unavailable from asynchronous contexts | Are you debugging by thread instead of i","category":"external_commands","line_end":62,"severity":"medium","line_start":62},{"id":"external_commands:SKILL.md:63:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| SwiftLint concurrency-related warnings | Which specific lint rule triggered? | Use `references/lin","category":"external_commands","line_end":63,"severity":"medium","line_start":63},{"id":"external_commands:SKILL.md:64:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `... cannot satisfy conformance requirement for a 'Sendable' type parameter` (`SendableMetatype`) ","category":"external_commands","line_end":64,"severity":"medium","line_start":64},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **UI-bound state**: isolate the type or member to `@MainActor`.","category":"external_commands","line_end":77,"severity":"medium","line_start":77},{"id":"external_commands:SKILL.md:78:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Shared mutable state**: move it behind an `actor`, or use `@MainActor` only if the state is UI-o","category":"external_commands","line_end":78,"severity":"medium","line_start":78},{"id":"external_commands:SKILL.md:79:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Background work**: when work must hop off caller isolation, use an `async` API marked `@concurre","category":"external_commands","line_end":79,"severity":"medium","line_start":79},{"id":"external_commands:SKILL.md:80:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Sendability issues**: prefer immutable values and explicit boundaries over `@unchecked Sendable`","category":"external_commands","line_end":80,"severity":"medium","line_start":80},{"id":"external_commands:SKILL.md:86:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Single async operation | `async/await` | Default choice for sequential async work |","category":"external_commands","line_end":86,"severity":"medium","line_start":86},{"id":"external_commands:SKILL.md:87:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Fixed parallel operations | `async let` | Known count at compile time; auto-cancelled on throw |","category":"external_commands","line_end":87,"severity":"medium","line_start":87},{"id":"external_commands:SKILL.md:88:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Dynamic parallel operations | `withTaskGroup` | Unknown count; structured — cancels children on sc","category":"external_commands","line_end":88,"severity":"medium","line_start":88},{"id":"external_commands:SKILL.md:89:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Sync → async bridge | `Task { }` | Inherits actor context; use `Task.detached` only with documente","category":"external_commands","line_end":89,"severity":"medium","line_start":89},{"id":"external_commands:SKILL.md:90:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Shared mutable state | `actor` | Prefer over locks/queues; keep isolated sections small |","category":"external_commands","line_end":90,"severity":"medium","line_start":90},{"id":"external_commands:SKILL.md:91:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| UI-bound state | `@MainActor` | Only for truly UI-related code; justify isolation |","category":"external_commands","line_end":91,"severity":"medium","line_start":91},{"id":"external_commands:SKILL.md:96:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```swift","category":"external_commands","line_end":101,"severity":"medium","line_start":96},{"id":"external_commands:SKILL.md:101:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":104,"severity":"medium","line_start":101},{"id":"external_commands:SKILL.md:104:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```swift","category":"external_commands","line_end":113,"severity":"medium","line_start":104},{"id":"external_commands:SKILL.md:113:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":118,"severity":"medium","line_start":113},{"id":"external_commands:SKILL.md:118:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Match a `Task`'s entry isolation to its synchronous prefix (everything from `{` to the first `await`","category":"external_commands","line_end":118,"severity":"medium","line_start":118},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- If anything in that prefix needs `@MainActor`, keep the inherited `@MainActor` start.","category":"external_commands","line_end":120,"severity":"medium","line_start":120},{"id":"external_commands:SKILL.md:121:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- If nothing in that prefix needs `@MainActor`, prefer `Task { @concurrent in ... }` and hop back on","category":"external_commands","line_end":121,"severity":"medium","line_start":121},{"id":"external_commands:SKILL.md:123:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```swift","category":"external_commands","line_end":129,"severity":"medium","line_start":123},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"// ❌ Synchronous prefix is only `print` (trivial, non-main); first await hops away","category":"external_commands","line_end":147,"severity":"medium","line_start":129},{"id":"external_commands:SKILL.md:147:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":161,"severity":"medium","line_start":147},{"id":"external_commands:SKILL.md:161:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"1. **Build** — Run `swift build` or Xcode build to surface new diagnostics","category":"external_commands","line_end":164,"severity":"medium","line_start":161},{"id":"external_commands:SKILL.md:164:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. **Test** — Run the test suite to catch regressions (`swift test` or Cmd+U)","category":"external_commands","line_end":169,"severity":"medium","line_start":164},{"id":"external_commands:SKILL.md:169:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"For detailed migration steps, see `references/migration.md`.","category":"external_commands","line_end":176,"severity":"medium","line_start":169},{"id":"external_commands:SKILL.md:176:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/async-await-basics.md` — async/await syntax, execution order, async let, URLSession pa","category":"external_commands","line_end":177,"severity":"medium","line_start":176},{"id":"external_commands:SKILL.md:177:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/tasks.md` — Task lifecycle, cancellation, priorities, task groups, structured vs unstr","category":"external_commands","line_end":178,"severity":"medium","line_start":177},{"id":"external_commands:SKILL.md:178:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/actors.md` — Actor isolation, @MainActor, global actors, reentrancy, custom executors,","category":"external_commands","line_end":179,"severity":"medium","line_start":178},{"id":"external_commands:SKILL.md:179:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/sendable.md` — Sendable conformance, value/reference types, @unchecked, region isolati","category":"external_commands","line_end":180,"severity":"medium","line_start":179},{"id":"external_commands:SKILL.md:180:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/threading.md` — Execution model, suspension points, Swift 6.2 isolation behavior","category":"external_commands","line_end":182,"severity":"medium","line_start":180},{"id":"external_commands:SKILL.md:182:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/async-sequences.md` — AsyncSequence, AsyncStream, when to use vs regular async methods","category":"external_commands","line_end":183,"severity":"medium","line_start":182},{"id":"external_commands:SKILL.md:183:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/async-algorithms.md` — Debounce, throttle, merge, combineLatest, channels, timers","category":"external_commands","line_end":185,"severity":"medium","line_start":183},{"id":"external_commands:SKILL.md:185:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/testing.md` — Swift Testing first, XCTest fallback, leak checks","category":"external_commands","line_end":186,"severity":"medium","line_start":185},{"id":"external_commands:SKILL.md:186:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/performance.md` — Profiling with Instruments, reducing suspension points, execution st","category":"external_commands","line_end":187,"severity":"medium","line_start":186},{"id":"external_commands:SKILL.md:187:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/memory-management.md` — Retain cycles in tasks, memory safety patterns","category":"external_commands","line_end":188,"severity":"medium","line_start":187},{"id":"external_commands:SKILL.md:188:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/core-data.md` — NSManagedObject sendability, custom executors, isolation conflicts","category":"external_commands","line_end":190,"severity":"medium","line_start":188},{"id":"external_commands:SKILL.md:190:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/migration.md` — Swift 6 migration strategy, closure-to-async conversion, @preconcurren","category":"external_commands","line_end":191,"severity":"medium","line_start":190},{"id":"external_commands:SKILL.md:191:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/linting.md` — Concurrency-focused lint rules and SwiftLint `async_without_await`","category":"external_commands","line_end":191,"severity":"medium","line_start":191},{"id":"external_commands:SKILL.md:193:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `references/glossary.md` — Quick definitions of core concurrency terms","category":"external_commands","line_end":204,"severity":"medium","line_start":193},{"id":"external_commands:SKILL.md:204:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"6. Check `Task.isCancelled` in long-running operations.","category":"external_commands","line_end":205,"severity":"medium","line_start":204},{"id":"network:SKILL.md:209:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"**Note**: This skill is based on the comprehensive [Swift Concurrency Course](https://www.swiftconcu","category":"network","line_end":209,"severity":"low","line_start":209},{"id":"blocker:SKILL.md:63:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"| SwiftLint concurrency-related warnings | Which specific lint rule triggered? | Use `references/lin","category":"blocker","line_end":63,"severity":"low","line_start":63},{"id":"blocker:SKILL.md:64:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"| `... cannot satisfy conformance requirement for a 'Sendable' type parameter` (`SendableMetatype`) ","category":"blocker","line_end":64,"severity":"low","line_start":64}],"finding_verdicts":[{"id":"filesystem:references/_index.md:41:path-traversal-sequence","reason":"The sequence is a fixed Markdown link from references/_index.md to the root SKILL.md. It does not accept input or access an arbitrary filesystem path.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/actors.md:326:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/actors.md:372:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/actors.md:677:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/actors.md:601:network-reconnaissance","reason":"The line describes synchronous access or a performance symptom. It performs no host, port, service, or network discovery.","verdict":"false_positive","confidence":0.99},{"id":"network:references/async-algorithms.md:83:hardcoded-url","reason":"The URL identifies Apple's public Swift Async Algorithms package in an installation example. It is an explicit dependency source, not an exfiltration destination.","verdict":"false_positive","confidence":0.98},{"id":"blocker:references/async-algorithms.md:146:keylogger-keywords","reason":"The word keystroke appears in an anti-pattern about debouncing search input. The example does not capture, store, or transmit keyboard events.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/async-algorithms.md:32:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/async-algorithms.md:108:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/async-algorithms.md:832:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/async-algorithms.md:838:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"network:references/async-await-basics.md:150:hardcoded-url","reason":"The URL uses the reserved example.com domain in educational URLSession code. It includes no real service, secret, or unauthorized data transfer.","verdict":"false_positive","confidence":0.98},{"id":"network:references/async-await-basics.md:169:hardcoded-url","reason":"The URL uses the reserved example.com domain in educational URLSession code. It includes no real service, secret, or unauthorized data transfer.","verdict":"false_positive","confidence":0.98},{"id":"blocker:references/async-await-basics.md:97:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/async-await-basics.md:112:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"network:references/async-sequences.md:557:hardcoded-url","reason":"This is a visible course link in documentation. It does not execute automatically or send project data, credentials, or local files.","verdict":"false_positive","confidence":0.98},{"id":"blocker:references/async-sequences.md:164:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"network:references/core-data.md:224:fetch-api-call","reason":"This is an NSManagedObjectContext fetch against a local Core Data store. It is not a web fetch or network request.","verdict":"false_positive","confidence":0.99},{"id":"network:references/core-data.md:232:fetch-api-call","reason":"This is an NSManagedObjectContext fetch against a local Core Data store. It is not a web fetch or network request.","verdict":"false_positive","confidence":0.99},{"id":"network:references/core-data.md:297:fetch-api-call","reason":"This is an NSManagedObjectContext fetch against a local Core Data store. It is not a web fetch or network request.","verdict":"false_positive","confidence":0.99},{"id":"network:references/core-data.md:353:fetch-api-call","reason":"This is an NSManagedObjectContext fetch against a local Core Data store. It is not a web fetch or network request.","verdict":"false_positive","confidence":0.99},{"id":"network:references/core-data.md:530:fetch-api-call","reason":"This is an NSManagedObjectContext fetch against a local Core Data store. It is not a web fetch or network request.","verdict":"false_positive","confidence":0.99},{"id":"network:references/core-data.md:340:hardcoded-url","reason":"This is a visible course link in documentation. It does not execute automatically or send project data, credentials, or local files.","verdict":"false_positive","confidence":0.98},{"id":"blocker:references/core-data.md:65:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/core-data.md:96:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/core-data.md:447:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/glossary.md:55:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/glossary.md:83:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/glossary.md:107:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:references/linting.md:72:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"network:references/linting.md:50:fetch-api-call","reason":"The line declares a mock function named fetch in a SwiftLint example. It contains no endpoint, network API, or data transmission.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/linting.md:27:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/linting.md:62:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/memory-management.md:370:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/migration.md:881:keylogger-keywords","reason":"The word keystroke appears in an anti-pattern about debouncing search input. The example does not capture, store, or transmit keyboard events.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/migration.md:132:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/migration.md:867:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:references/performance.md:284:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"network:references/performance.md:398:hardcoded-url","reason":"This is a visible course link in documentation. It does not execute automatically or send project data, credentials, or local files.","verdict":"false_positive","confidence":0.98},{"id":"network:references/performance.md:461:hardcoded-url","reason":"This is a visible course link in documentation. It does not execute automatically or send project data, credentials, or local files.","verdict":"false_positive","confidence":0.98},{"id":"blocker:references/performance.md:546:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/performance.md:630:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/performance.md:433:network-reconnaissance","reason":"The line describes synchronous access or a performance symptom. It performs no host, port, service, or network discovery.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/sendable.md:206:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/sendable.md:548:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/sendable.md:587:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"network:references/tasks.md:281:fetch-api-call","reason":"The fetch call is educational Swift sample code for task structure or deterministic testing. It contains no hidden endpoint, credential access, or exfiltration behavior.","verdict":"false_positive","confidence":0.99},{"id":"network:references/tasks.md:383:fetch-api-call","reason":"The fetch call is educational Swift sample code for task structure or deterministic testing. It contains no hidden endpoint, credential access, or exfiltration behavior.","verdict":"false_positive","confidence":0.99},{"id":"network:references/tasks.md:384:fetch-api-call","reason":"The fetch call is educational Swift sample code for task structure or deterministic testing. It contains no hidden endpoint, credential access, or exfiltration behavior.","verdict":"false_positive","confidence":0.99},{"id":"network:references/tasks.md:389:fetch-api-call","reason":"The fetch call is educational Swift sample code for task structure or deterministic testing. It contains no hidden endpoint, credential access, or exfiltration behavior.","verdict":"false_positive","confidence":0.99},{"id":"network:references/tasks.md:390:fetch-api-call","reason":"The fetch call is educational Swift sample code for task structure or deterministic testing. It contains no hidden endpoint, credential access, or exfiltration behavior.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/tasks.md:280:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/tasks.md:652:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"network:references/testing.md:210:fetch-api-call","reason":"The fetch call is educational Swift sample code for task structure or deterministic testing. It contains no hidden endpoint, credential access, or exfiltration behavior.","verdict":"false_positive","confidence":0.99},{"id":"network:references/testing.md:236:fetch-api-call","reason":"The fetch call is educational Swift sample code for task structure or deterministic testing. It contains no hidden endpoint, credential access, or exfiltration behavior.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/testing.md:163:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/testing.md:302:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/testing.md:468:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/testing.md:472:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/testing.md:474:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/testing.md:525:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:references/threading.md:214:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"network:references/threading.md:380:hardcoded-url","reason":"This is a visible course link in documentation. It does not execute automatically or send project data, credentials, or local files.","verdict":"false_positive","confidence":0.98},{"id":"blocker:references/threading.md:39:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/threading.md:124:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:references/threading.md:460:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:11:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:13:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:14:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:20:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:21:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:22:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:23:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:26:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:32:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:33:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:57:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:58:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:59:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:60:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:61:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:62:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:63:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:64:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:78:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:79:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:80:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:86:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:87:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:88:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:89:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:90:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:91:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:96:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:101:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:104:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:113:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:118:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:121:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:123:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:147:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:161:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:164:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:169:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:176:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:177:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:178:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:179:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:180:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:182:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:183:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:185:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:186:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:187:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:188:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:190:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:191:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:193:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:204:ruby-shell-backtick-execution","reason":"The backticks are Markdown formatting for Swift identifiers, file names, or documented build commands. There is no Ruby execution, shell substitution, interpolated input, or hidden command runner.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:209:hardcoded-url","reason":"This is a visible course link in documentation. It does not execute automatically or send project data, credentials, or local files.","verdict":"false_positive","confidence":0.98},{"id":"blocker:SKILL.md:63:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:64:system-reconnaissance","reason":"The flagged line is Swift concurrency prose or sample code. It neither queries host state nor gathers system information.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[],"subject_marketplace_commit_sha":"89edfdc710d0846129dcee6a929477b04f08052c","subject_content_hash":"a84a3874320a955d5c0bd1841f84303cded83485007eda1b0c585c41827fa6a3","subject_tree_hash":"3ca365dca21f95c638249305ce397b9577804e122b088d0b86bd18587dae9380","subject_plugin_path":"skills/avdlee/swift-concurrency","audit_payload_hash":"70f7861900bd5ea923adf2d02c391d8b","confirmed_risk_level":"safe","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"89edfdc710d0846129dcee6a929477b04f08052c","contentHash":"a84a3874320a955d5c0bd1841f84303cded83485007eda1b0c585c41827fa6a3","treeHash":"3ca365dca21f95c638249305ce397b9577804e122b088d0b86bd18587dae9380","pluginPath":"skills/avdlee/swift-concurrency","auditPayloadHash":"70f7861900bd5ea923adf2d02c391d8b"},"scannerVersion":"3.0.0","policyVersion":"skillstore-security-audit-policy-v1"},"auditTranslation":null,"localization":{"requestedLocale":"en","contentLocale":"en","availableLocales":["en"],"fallbackToEnglish":false},"attestation":{"availability":"issued","url":"/api/skills/avdlee-swift-concurrency/audits/12/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"safe","confirmedFindingCount":0,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}