{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-6fc697ea708f0156", "name": "Possibly dead Python function: find_signup_url", "shortDescription": {"text": "Possibly dead Python function: find_signup_url"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7cc8053995ea5fc3", "name": "Possibly dead Python function: normalize_speaker", "shortDescription": {"text": "Possibly dead Python function: normalize_speaker"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b5b72160f8f87e37", "name": "Possibly dead Python function: extract_text_from_txt", "shortDescription": {"text": "Possibly dead Python function: extract_text_from_txt"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5277c36c23022141", "name": "Possibly dead Python function: extract_text_from_docx", "shortDescription": {"text": "Possibly dead Python function: extract_text_from_docx"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e3afdd5a4154a718", "name": "Possibly dead Python function: extract_text_from_pdf", "shortDescription": {"text": "Possibly dead Python function: extract_text_from_pdf"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d19e872d994773a", "name": "Possibly dead Python function: extract_text_from_xlsx", "shortDescription": {"text": "Possibly dead Python function: extract_text_from_xlsx"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7590738d1eccba6", "name": "Possibly dead Python function: extract_text_from_csv", "shortDescription": {"text": "Possibly dead Python function: extract_text_from_csv"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b534ebc496bf17c0", "name": "Possibly dead Python function: extract_text_from_json", "shortDescription": {"text": "Possibly dead Python function: extract_text_from_json"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b0ca89291662a3d", "name": "Possibly dead Python function: handle_starttag", "shortDescription": {"text": "Possibly dead Python function: handle_starttag"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e7d1aac0105af6a", "name": "Possibly dead Python function: handle_endtag", "shortDescription": {"text": "Possibly dead Python function: handle_endtag"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-407ba7939ee94458", "name": "Possibly dead Python function: handle_data", "shortDescription": {"text": "Possibly dead Python function: handle_data"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c19abc12f1d596f", "name": "Possibly dead Python function: guess_type", "shortDescription": {"text": "Possibly dead Python function: guess_type"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-101a9d486cf69103", "name": "Possibly dead Python function: log_message", "shortDescription": {"text": "Possibly dead Python function: log_message"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-21ad7d2af7687e64", "name": "`truncate` class without `title=` for hover reveal \u2014 prototype-kit/skills/setup-kit/references/components/top-nav.tsx:19", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 prototype-kit/skills/setup-kit/references/components/top-nav.tsx:19"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b2e24105b699a6d3", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/superpowers/specs/2026-05-25-experience-map-renderer-prototype.ht", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/superpowers/specs/2026-05-25-experience-map-renderer-prototype.html:478"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-048ef7a02e980d88", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/superpowers/specs/ost-tree-view-mockup/mockup.html:529", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/superpowers/specs/ost-tree-view-mockup/mockup.html:529"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "2 tests / 17 src (ratio 0.12)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 76 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-53f267c4c052e39c", "name": "Agent authority lacks a verifier contract: scilla-claude-toolkit/skills/whats-new/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: scilla-claude-toolkit/skills/whats-new/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dd3fa1103660a6ca", "name": "Agent authority lacks a verifier contract: scilla-claude-toolkit/skills/wrapup/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: scilla-claude-toolkit/skills/wrapup/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6f5db068a919f7b0", "name": "Agent authority lacks a verifier contract: scilla-research/skills/cost-review/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: scilla-research/skills/cost-review/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-09ef27c83774a083", "name": "Agent authority lacks a verifier contract: scilla-research/skills/feedback-triage/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: scilla-research/skills/feedback-triage/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ed8fd1cc7d6325d4", "name": "Agent authority lacks a verifier contract: scilla-research/skills/csv-data-summarizer-claude-skill-main/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: scilla-research/skills/csv-data-summarizer-claude-skill-main/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cbd1311a36f65f17", "name": "Agent authority lacks a verifier contract: product-discovery/skills/01-OST-extract-experience-map/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/01-OST-extract-experience-map/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-48293bf84766b9f5", "name": "Agent authority lacks a verifier contract: product-discovery/skills/03-OST-validate-opportunities/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/03-OST-validate-opportunities/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3b9bb5c86a2d051d", "name": "Agent authority lacks a verifier contract: product-discovery/skills/00c-OST-run-opportunity-phase/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/00c-OST-run-opportunity-phase/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1928c7431c4ba81f", "name": "Agent authority lacks a verifier contract: product-discovery/skills/02-OST-opportunity-extractor/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/02-OST-opportunity-extractor/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-920e0d5729334d6e", "name": "Agent authority lacks a verifier contract: product-discovery/skills/00-OST-facilitator/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/00-OST-facilitator/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0c87323cebfa1768", "name": "Agent authority lacks a verifier contract: product-discovery/skills/00b-OST-setup-product/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/00b-OST-setup-product/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b28a43aeb466be01", "name": "Agent authority lacks a verifier contract: product-discovery/skills/00a-OST-init-workspace/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/00a-OST-init-workspace/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2446ca745243f06e", "name": "Stub function `log_message` (body is just `pass`/`return`) \u2014 product-discovery/templates/serve.py:72", "shortDescription": {"text": "Stub function `log_message` (body is just `pass`/`return`) \u2014 product-discovery/templates/serve.py:72"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscilla-research/skills/competitive-teardown/scripts/gather_intel.py:fetch_url_curl, scilla-research/skills/competitive-teardown/scripts/gather_intel.py:fetch_url\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/19070"}, "properties": {"repository": "scilla-studio-stockholm/claude-plugins", "repoUrl": "https://github.com/scilla-studio-stockholm/claude-plugins", "branch": "main"}, "results": [{"ruleId": "scanner-6fc697ea708f0156", "level": "note", "message": {"text": "Possibly dead Python function: find_signup_url"}, "properties": {"repobilityId": "6481aa292d9937c8", "scanner": "scanner-primary", "fingerprint": "6fc697ea708f0156", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/competitive-teardown/scripts/gather_intel.py:185"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7cc8053995ea5fc3", "level": "note", "message": {"text": "Possibly dead Python function: normalize_speaker"}, "properties": {"repobilityId": "8abb7ed95200aeff", "scanner": "scanner-primary", "fingerprint": "7cc8053995ea5fc3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/transcript-cleaner/scripts/clean_transcript.py:147"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b5b72160f8f87e37", "level": "note", "message": {"text": "Possibly dead Python function: extract_text_from_txt"}, "properties": {"repobilityId": "a9d75ed9c62ae2bc", "scanner": "scanner-primary", "fingerprint": "b5b72160f8f87e37", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/knowledge-finder/scripts/search_files.py:76"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5277c36c23022141", "level": "note", "message": {"text": "Possibly dead Python function: extract_text_from_docx"}, "properties": {"repobilityId": "a033c6c5b8b7d00d", "scanner": "scanner-primary", "fingerprint": "5277c36c23022141", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/knowledge-finder/scripts/search_files.py:120"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e3afdd5a4154a718", "level": "note", "message": {"text": "Possibly dead Python function: extract_text_from_pdf"}, "properties": {"repobilityId": "e0d7ca8b231943ea", "scanner": "scanner-primary", "fingerprint": "e3afdd5a4154a718", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/knowledge-finder/scripts/search_files.py:186"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4d19e872d994773a", "level": "note", "message": {"text": "Possibly dead Python function: extract_text_from_xlsx"}, "properties": {"repobilityId": "64c5c04641eaabd8", "scanner": "scanner-primary", "fingerprint": "4d19e872d994773a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/knowledge-finder/scripts/search_files.py:246"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c7590738d1eccba6", "level": "note", "message": {"text": "Possibly dead Python function: extract_text_from_csv"}, "properties": {"repobilityId": "15407f21220bbb93", "scanner": "scanner-primary", "fingerprint": "c7590738d1eccba6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/knowledge-finder/scripts/search_files.py:290"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b534ebc496bf17c0", "level": "note", "message": {"text": "Possibly dead Python function: extract_text_from_json"}, "properties": {"repobilityId": "f3d12e548787265a", "scanner": "scanner-primary", "fingerprint": "b534ebc496bf17c0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/knowledge-finder/scripts/search_files.py:335"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2b0ca89291662a3d", "level": "note", "message": {"text": "Possibly dead Python function: handle_starttag"}, "properties": {"repobilityId": "3bf216d149959ebf", "scanner": "scanner-primary", "fingerprint": "2b0ca89291662a3d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/knowledge-finder/scripts/search_files.py:382"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8e7d1aac0105af6a", "level": "note", "message": {"text": "Possibly dead Python function: handle_endtag"}, "properties": {"repobilityId": "7eb6f3decafc1766", "scanner": "scanner-primary", "fingerprint": "8e7d1aac0105af6a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/knowledge-finder/scripts/search_files.py:386"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-407ba7939ee94458", "level": "note", "message": {"text": "Possibly dead Python function: handle_data"}, "properties": {"repobilityId": "3a673a278f4fc1e6", "scanner": "scanner-primary", "fingerprint": "407ba7939ee94458", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/knowledge-finder/scripts/search_files.py:391"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1c19abc12f1d596f", "level": "note", "message": {"text": "Possibly dead Python function: guess_type"}, "properties": {"repobilityId": "fdd9d4b61c82f9d1", "scanner": "scanner-primary", "fingerprint": "1c19abc12f1d596f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product-discovery/templates/serve.py:64"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-101a9d486cf69103", "level": "note", "message": {"text": "Possibly dead Python function: log_message"}, "properties": {"repobilityId": "965f3150b4af5b2e", "scanner": "scanner-primary", "fingerprint": "101a9d486cf69103", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product-discovery/templates/serve.py:72"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-21ad7d2af7687e64", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 prototype-kit/skills/setup-kit/references/components/top-nav.tsx:19"}, "properties": {"repobilityId": "ec4aa4bc5a7be5fa", "scanner": "scanner-primary", "fingerprint": "21ad7d2af7687e64", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b2e24105b699a6d3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/superpowers/specs/2026-05-25-experience-map-renderer-prototype.html:478"}, "properties": {"repobilityId": "26618e921c8a5db4", "scanner": "scanner-primary", "fingerprint": "b2e24105b699a6d3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/superpowers/specs/2026-05-25-experience-map-renderer-prototype.html"}, "region": {"startLine": 478}}}]}, {"ruleId": "scanner-048ef7a02e980d88", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/superpowers/specs/ost-tree-view-mockup/mockup.html:529"}, "properties": {"repobilityId": "dacea5b20168a7cf", "scanner": "scanner-primary", "fingerprint": "048ef7a02e980d88", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/superpowers/specs/ost-tree-view-mockup/mockup.html"}, "region": {"startLine": 529}}}]}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "e71b703608749c81", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "76bb3f45c147fa4f", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "c1828d8a84d994a7", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "8e66fa111279a1ee", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "3b18abc171867cbf", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "958606d0b26f1119", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "99f6998f8cc17c9d", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-53f267c4c052e39c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: scilla-claude-toolkit/skills/whats-new/SKILL.md"}, "properties": {"repobilityId": "dedce5ab956493b3", "scanner": "scanner-primary", "fingerprint": "53f267c4c052e39c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-claude-toolkit/skills/whats-new/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dd3fa1103660a6ca", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: scilla-claude-toolkit/skills/wrapup/SKILL.md"}, "properties": {"repobilityId": "e33126b58fafafaa", "scanner": "scanner-primary", "fingerprint": "dd3fa1103660a6ca", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-claude-toolkit/skills/wrapup/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6f5db068a919f7b0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: scilla-research/skills/cost-review/SKILL.md"}, "properties": {"repobilityId": "733b08ec6a03fcfa", "scanner": "scanner-primary", "fingerprint": "6f5db068a919f7b0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/cost-review/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09ef27c83774a083", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: scilla-research/skills/feedback-triage/SKILL.md"}, "properties": {"repobilityId": "78bf9d0c4098dfe5", "scanner": "scanner-primary", "fingerprint": "09ef27c83774a083", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/feedback-triage/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ed8fd1cc7d6325d4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: scilla-research/skills/csv-data-summarizer-claude-skill-main/SKILL.md"}, "properties": {"repobilityId": "ea7c8dbc0dfe84bc", "scanner": "scanner-primary", "fingerprint": "ed8fd1cc7d6325d4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scilla-research/skills/csv-data-summarizer-claude-skill-main/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cbd1311a36f65f17", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/01-OST-extract-experience-map/SKILL.md"}, "properties": {"repobilityId": "060a8c209f707357", "scanner": "scanner-primary", "fingerprint": "cbd1311a36f65f17", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product-discovery/skills/01-OST-extract-experience-map/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-48293bf84766b9f5", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/03-OST-validate-opportunities/SKILL.md"}, "properties": {"repobilityId": "32c62f246c4d89db", "scanner": "scanner-primary", "fingerprint": "48293bf84766b9f5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product-discovery/skills/03-OST-validate-opportunities/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3b9bb5c86a2d051d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/00c-OST-run-opportunity-phase/SKILL.md"}, "properties": {"repobilityId": "b34d4059863e69d3", "scanner": "scanner-primary", "fingerprint": "3b9bb5c86a2d051d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product-discovery/skills/00c-OST-run-opportunity-phase/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1928c7431c4ba81f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/02-OST-opportunity-extractor/SKILL.md"}, "properties": {"repobilityId": "5186dfa07dbfe7b7", "scanner": "scanner-primary", "fingerprint": "1928c7431c4ba81f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product-discovery/skills/02-OST-opportunity-extractor/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-920e0d5729334d6e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/00-OST-facilitator/SKILL.md"}, "properties": {"repobilityId": "fed3791056ecdf2c", "scanner": "scanner-primary", "fingerprint": "920e0d5729334d6e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product-discovery/skills/00-OST-facilitator/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0c87323cebfa1768", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/00b-OST-setup-product/SKILL.md"}, "properties": {"repobilityId": "47f07f7ba8a8225b", "scanner": "scanner-primary", "fingerprint": "0c87323cebfa1768", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product-discovery/skills/00b-OST-setup-product/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b28a43aeb466be01", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: product-discovery/skills/00a-OST-init-workspace/SKILL.md"}, "properties": {"repobilityId": "6f4c1dda48227715", "scanner": "scanner-primary", "fingerprint": "b28a43aeb466be01", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product-discovery/skills/00a-OST-init-workspace/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2446ca745243f06e", "level": "note", "message": {"text": "Stub function `log_message` (body is just `pass`/`return`) \u2014 product-discovery/templates/serve.py:72"}, "properties": {"repobilityId": "b98689efb6b38c7a", "scanner": "scanner-primary", "fingerprint": "2446ca745243f06e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "880c047bfe020793", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "202f0ed2534ac268", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}